type sendData struct {
id uint16
Data string
}
sendata := []sendData{{uint16(16), "this is first"}, {uint16(16), "this is second"}, {uint16(16), "this is third after this"}, {uint16(16), "this is third after"}}
err = binary.Write(buf, binary.BigEndian, sendata )
总是报错:
binary.Write: some values are not fixed-sized in type []main.sendData2
记录一下这个问题如何解决
binary.write 不能处理不定长度的变量,比如string只能将string转换为[]byte之后进行处理,在解码的时候,需要知道[]byte的长度才能使用binary,.read进行解码
所以数据结构设计为
type sendData struct {
id uint16
leng unint16
Data string
}