У меня есть структуры в ходе:Почему эти две структуры не равны?
type header struct {
dataLength uint16
optDataLength uint8
packetType uint8
}
type packet struct {
syncByte uint8
header *header
headerCrc uint8
data []byte
optData []byte
dataCrc uint8
}
Если я создал Encode и функцию декодирования для создания пакетов и для кодирования их в бинарный код. Однако почему эти два экземпляра.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}
для Mee кажется равным. Но почему они выглядят как 0xc2080004f8 vs 0xc2080004b8, когда я не вижу разницы, когда я проверяю пакет.header напрямую?
Укажите, как вы создаете экземпляры, передаете ли вы значение по ссылке? –