やりたかったこと。
1.複数の構造体をバイナリ化
2.バイナリ化した複数の構造体データを、一本のバイナリデータに加工
※先頭構造体データのお尻に繋げるだけ。
ひねり出した解決策かも?なアイデア。
1.構造体をバイナリデータ(byteのスライス)にしたい。※複数
2.byteスライスにした複数のデータを、連結して一本のbyteスライスにしたい
以下、試行錯誤した結果。。。
構造体データを、複数のbytes.bufferにすることには成功。
最後、複数のbytes.bufferを連結したいがやりかたがわからず。。。
go
1type A struct { 2 Int32Field int32 3 ByteField byte 4}
この構造体定義で、構造体を2つ作成
go
1 // 構造体つくる 2 a := A{ 3 Int32Field: 0x123456, 4 ByteField: 0xFF, 5 } 6 7 b := A{ 8 Int32Field: 0x987654, 9 ByteField: 0xDA, 10 }
go
1 // 構造体Aをbyteスライスに 2 getbin_a := new(bytes.Buffer) 3 binary.Write(getbin_a, binary.LittleEndian, &a) 4 fmt.Printf("\ngetbin_a:%v",getbin_a) 5 6 // 構造体Bをbyteスライスに 7 getbin_b := new(bytes.Buffer) 8 binary.Write(getbin_b, binary.LittleEndian, &b) 9 fmt.Printf("\ngetbin_b:%v",getbin_b) 10
ここまで出来ているつもりで・・・なんとかしてgetbin_aとgetbin_bを繋げたいのです。
やりたい事に対してこの方法が正しいのかもわかりませんが、最終的に構造体データを連結したバイナリデータができればOK。
やり方をご存じの方、是非ご教示ねがいたく。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/23 02:08