Golang ialah bahasa pengaturcaraan yang cekap yang digunakan secara meluas dalam pembangunan web, pengkomputeran awan, sains data, kecerdasan buatan dan bidang lain. Antaranya, jenis struct Golang ialah jenis data yang sangat biasa digunakan Kita selalunya perlu menukar jenis struktur kepada jenis []bait.
Untuk menukar struct Golang kepada []bait, kita perlu memahami isu berikut:
Definisi jenis struct dalam Golang
Di Golang, jenis struct ialah Jenis data komposit yang digunakan untuk menyusun ahli data daripada jenis yang berbeza. Jenis struktur mengandungi pembolehubah ahli yang berbeza mengikut urutan Pembolehubah ahli ini boleh menjadi pembolehubah dari sebarang jenis, seperti int, rentetan, bool, nombor titik terapung dan pembolehubah jenis struktur lain. Takrif jenis struktur biasanya kelihatan seperti ini:
type Person struct { Name string Age int Address string }
Dalam kod di atas, kami mentakrifkan jenis struktur bernama Orang, yang mengandungi tiga pembolehubah ahli: Nama, Umur dan Alamat.
Takrifan dan penggunaan []jenis bait dalam Golang
[]jenis bait ialah jenis terbina dalam Golang, digunakan untuk mewakili data binari. Di Golang, jenis []bait sebenarnya adalah alias bagi jenis uint8, yang mewakili jujukan integer tidak bertanda 8-bit. Oleh kerana jenis []bait ialah jenis hirisan, ia boleh membesar dan mengecut secara dinamik, yang menjadikannya ideal untuk mewakili tatasusunan bait panjang berubah-ubah.
Di Golang, kita boleh mencipta pembolehubah jenis []bait seperti berikut:
var data []byte
atau gunakan fungsi make untuk mencipta pembolehubah jenis []bait dengan saiz yang ditentukan:
data := make([]byte, 1024)
Pelaksanaan menukar jenis struct kepada []jenis bait dalam Golang
Di Golang, jika jenis struktur Orang ditakrifkan, kita boleh menukar contoh jenis Orang dengan mudah kepada []jenis bait :
p := Person { Name: "Tom", Age: 18, Address: "Beijing", } data, err := json.Marshal(p)
Dalam kod di atas, kami menggunakan fungsi json.Marshal() untuk menukar contoh jenis Orang p kepada []data jenis bait.
Begitu juga, kami juga boleh menggunakan pengekodan/pakej binari untuk menukar struktur kepada []jenis bait dalam aliran binari:
import ( "bytes" "encoding/binary" ) func Struct2Bytes(s interface{}) ([]byte, error) { buf := new(bytes.Buffer) err := binary.Write(buf, binary.LittleEndian, s) if err != nil { return nil, err } return buf.Bytes(), nil }
Dalam kod di atas, kami menggunakan pengekodan/binari The Fungsi tulis pakej boleh menukar jenis struktur s kepada jenis []bait dalam aliran binari.
Ringkasan
Dalam artikel ini kita membincangkan takrif jenis struct dalam Golang dan cara menukar jenis struktur kepada []jenis bait. Apabila melaksanakan penukaran jenis struktur, kita boleh menggunakan JSON atau format strim binari untuk penyirian. Melalui pemahaman yang mendalam tentang jenis struct dan jenis []bait dalam Golang, kita boleh menggunakan Golang dengan lebih berkesan untuk melaksanakan pelbagai aplikasi dan sistem.
Atas ialah kandungan terperinci golang struct 转[]bait. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!