Dalam bahasa Go, struktur (struct) ialah jenis yang sangat biasa, yang terdiri daripada berbilang medan. Dalam sesetengah kes, kita perlu menukar struktur kepada tatasusunan bait, atau tatasusunan bait kepada struktur. Pada masa ini, kita boleh menggunakan beberapa fungsi yang disediakan dalam bahasa Go untuk melakukan penukaran.
Untuk menukar tatasusunan struct kepada bait kita boleh menggunakan kaedah berikut:
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] }
dalam Dalam kod di atas, kita gunakan fungsi binary.Write
untuk menukar struktur User
kepada tatasusunan bait, dengan pembolehubah buf
ialah penimbal untuk ditulis.
Untuk menukar tatasusunan bait kepada struct kita boleh menggunakan kaedah berikut:
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} }
dalam Dalam kod di atas, kita gunakan fungsi binary.Read
untuk menukar tatasusunan bait kepada struktur User
, dengan pembolehubah buf
ialah penimbal baca.
Ringkasan
Dalam bahasa Go, dengan menggunakan fungsi dalam pakej encoding/binary
, kita boleh menukar struktur kepada tatasusunan bait dengan mudah atau menukar tatasusunan bait kepada struktur . Transformasi ini berguna apabila pengaturcaraan di web atau berinteraksi dengan bahasa pengaturcaraan lain, membolehkan kami memproses data berstruktur dengan lebih cekap.
Atas ialah kandungan terperinci Tukar struct kepada bait golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!