以下代码会产生恐慌: binary.Write: invalid type main.test:
type (
config struct {
Key uint16
Val uint16
}
test struct {
Mode uint32
Data []config
}
)
func main() {
t := test{
Mode: 5,
Data: []config{
{1, 2},
{3, 4},
},
}
var bs bytes.Buffer
assert(binary.Write(&bs, binary.LittleEndian, t))
}
关键点是:
数据结构的长度config
是固定的,但该test
结构包含一个 的切片config
,其数量是可变的。
我需要与其他用 C 编写的程序进行交互,所以不能使用诸如 GOB 之类的东西。
除了手动进行之外,还有什么方法可以对这种数据结构进行二进制编码?
慕工程0101907
相关分类