Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tukar struct kepada bait golang

Tukar struct kepada bait golang

WBOY
WBOYasal
2023-05-14 21:51:38837semak imbas

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.

  1. Tukar struct kepada tatasusunan bait

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.

  1. Tukar tatasusunan bait kepada struct

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn