我有一个结构体:
type header struct {
dataLength uint16
optDataLength uint8
packetType uint8
}
type packet struct {
syncByte uint8
header *header
headerCrc uint8
data []byte
optData []byte
dataCrc uint8
}
如果我创建了一个用于创建包并将它们编码为二进制的编码和解码函数。但是为什么这两个instance.header 不同?
&{syncByte:85 header:0xc2080004b8 headerCrc:112 data:[2] optData:[] dataCrc:14}
&{syncByte:85 header:0xc2080004f8 headerCrc:112 data:[2] optData:[] dataCrc:14}
如果我在这两个标题上运行 Println 我得到:
&{dataLength:1 optDataLength:0 packetType:5}
&{dataLength:1 optDataLength:0 packetType:5}
这对我来说似乎是平等的。但是,当我直接检查 packet.header 时看不到差异时,为什么它们看起来像 0xc2080004f8 与 0xc2080004b8?
慕尼黑5688855
相关分类