Heim  >  Artikel  >  Backend-Entwicklung  >  Konvertieren Sie die Struktur in Byte-Golang

Konvertieren Sie die Struktur in Byte-Golang

WBOY
WBOYOriginal
2023-05-14 21:51:38839Durchsuche

In der Go-Sprache ist Struktur (Struktur) ein sehr häufiger Typ, der aus mehreren Feldern besteht. In einigen Fällen müssen wir eine Struktur in ein Byte-Array oder ein Byte-Array in eine Struktur konvertieren. Derzeit können wir einige in der Go-Sprache bereitgestellte Funktionen verwenden, um die Konvertierung durchzuführen.

  1. Struktur in Byte-Array konvertieren

Um die Struktur in ein Byte-Array zu konvertieren, können wir die folgende Methode verwenden:

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]
}

Im obigen Code haben wir binary.Write verwendet. Die Funktion konvertiert die Strukturieren Sie Benutzer in ein Byte-Array, wobei die Variable buf der zu schreibende Puffer ist. 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

    Byte-Array in Struktur konvertieren 🎜🎜🎜Um Byte-Array in Struktur zu konvertieren, können wir die folgende Methode verwenden: 🎜rrreee🎜Im obigen Code haben wir binary.Read verwendet Die Funktion code> konvertiert das Byte-Array in die Struktur <code>Benutzer, wobei die Variable buf der Lesepuffer ist. 🎜🎜Zusammenfassung🎜🎜In der Go-Sprache können wir mithilfe der Funktionen im Paket encoding/binary problemlos eine Struktur in ein Byte-Array oder ein Byte-Array in eine Struktur umwandeln. Diese Transformation ist beim Programmieren im Web oder bei der Interaktion mit anderen Programmiersprachen nützlich und ermöglicht uns eine effizientere Verarbeitung strukturierter Daten. 🎜

Das obige ist der detaillierte Inhalt vonKonvertieren Sie die Struktur in Byte-Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn