Maison  >  Article  >  développement back-end  >  Convertir la structure en octet golang

Convertir la structure en octet golang

WBOY
WBOYoriginal
2023-05-14 21:51:38975parcourir

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.

  1. Convertir la structure en tableau d'octets

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.WriteLa fonction convertit le structurez User en un tableau d'octets, où la variable buf est le tampon à écrire. binary.Write函数将结构体User转换为字节数组,其中buf变量为写入的缓冲区。

  1. 将字节数组转换为结构体

要将字节数组转换为结构体,我们可以使用以下方法:

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

    Convertir un tableau d'octets en structure 🎜🎜🎜Pour convertir un tableau d'octets en structure, nous pouvons utiliser la méthode suivante : 🎜rrreee🎜Dans le code ci-dessus, nous avons utilisé 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn