Dans le langage Go, la structure (struct) est un type très courant, composé de plusieurs champs. Dans certains cas, nous devons convertir une structure en tableau d'octets, ou un tableau d'octets en structure. À l’heure actuelle, nous pouvons utiliser certaines fonctions fournies dans le langage Go pour effectuer la conversion.
Pour convertir la structure en tableau d'octets, nous pouvons utiliser la méthode suivante :
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] }
Dans le code ci-dessus, nous avons utilisé binary.Write</code >La fonction convertit le structurez <code>User
en un tableau d'octets, où la variable buf
est le tampon à écrire. 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} }
在上述代码中,我们使用了binary.Read
函数将字节数组转换为结构体User
,其中buf
变量为读取的缓冲区。
总结
在Go语言中,通过使用encoding/binary
binary.Read code> convertit le tableau d'octets en structure <code>User
, où la variable buf
est le tampon de lecture. 🎜🎜Résumé🎜🎜En langage Go, en utilisant les fonctions du package encoding/binary
, nous pouvons facilement convertir une structure en tableau d'octets, ou convertir un tableau d'octets en structure. Cette transformation est utile lors de la programmation sur le Web ou de l'interaction avec d'autres langages de programmation, nous permettant de traiter plus efficacement les données structurées. 🎜
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!