Go 言語では、構造体 (struct) は非常に一般的な型であり、複数のフィールドで構成されます。場合によっては、構造体をバイト配列に変換したり、バイト配列を構造体に変換したりする必要があります。現時点では、Go 言語で提供されているいくつかの関数を使用して変換を実行できます。
構造体をバイト配列に変換するには、次のメソッドを使用できます。
package main import ( "bytes" "encoding/binary" "fmt" ) type User struct { Name string Age int } func main() { user := User{Name: "张三", Age: 18} buf := new(bytes.Buffer) err := binary.Write(buf, binary.BigEndian, user) if err != nil { fmt.Println("write error:", err) return } fmt.Println(buf.Bytes()) // [0 0 0 6 232 173 153 229 156 168 0 18] }
In 上記のコードでは、 binary.Write
関数を使用して構造体 User
をバイト配列に変換します。ここで、buf
変数は書き込まれるバッファーです。
バイト配列を構造体に変換するには、次のメソッドを使用できます。
package main import ( "bytes" "encoding/binary" "fmt" ) type User struct { Name string Age int } func main() { data := []byte{0, 0, 0, 6, 232, 173, 153, 229, 156, 168, 0, 18} user := User{} buf := bytes.NewReader(data) err := binary.Read(buf, binary.BigEndian, &user) if err != nil { fmt.Println("read error:", err) return } fmt.Println(user) // {张三 18} }
In 上記のコードでは、 binary.Read
関数を使用して、バイト配列を構造体 User
に変換します。ここで、buf
変数は読み取りバッファーです。
概要
Go 言語では、encoding/binary
パッケージの関数を使用することで、構造をバイト配列または単語に簡単に変換できます。 Convert セクション配列から構造体へ。この変換は、Web 上でプログラミングする場合や他のプログラミング言語と対話する場合に役立ち、構造化データをより効率的に処理できるようになります。
以上が構造体をバイト golang に変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。