Rumah >pembangunan bahagian belakang >Golang >peta golang kepada bait

peta golang kepada bait

王林
王林asal
2023-05-13 10:22:381213semak imbas

Dalam pembangunan Golang, kita selalunya perlu menukar tatasusunan map kepada tatasusunan byte (iaitu bersiri). Ini mungkin kerana map perlu dihantar kepada permintaan rangkaian, disimpan dalam pangkalan data atau berinteraksi dengan sistem lain. Artikel ini akan memperkenalkan cara menukar tatasusunan map kepada byte dalam Golang.

Menggunakan siri JSON

Di Golang, kita boleh menggunakan fungsi encoding/json yang disediakan oleh pustaka standard Marshal untuk mensiri map ke dalam tatasusunan byte. Fungsi Marshal menerima jenis data interface{} dan boleh menukar map kepada tatasusunan byte.

Berikut ialah contoh kod mudah:

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    m := make(map[string]interface{})
    m["name"] = "Alice"
    m["age"] = 20
    m["gender"] = "female"

    // 序列化 map
    b, err := json.Marshal(m)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }

    fmt.Println(string(b))
}

Kod di atas akan mengeluarkan rentetan berikut:

{"age":20,"gender":"female","name":"Alice"}

Menggunakan pensirilan Gob

Selain JSON, Siri Golang Gob turut disediakan. Siri Gob berbeza daripada JSON, ia ialah format siri yang digunakan secara dalaman oleh Golang. Ia lebih cekap, tetapi hanya Golang yang boleh memahaminya. Oleh itu, anda perlu memberi perhatian apabila menggunakannya.

Berikut ialah contoh siri Gob yang mudah:

package main

import (
    "bytes"
    "encoding/gob"
    "fmt"
)

func main() {
    var buf bytes.Buffer
    enc := gob.NewEncoder(&buf)

    m := make(map[string]interface{})
    m["name"] = "Alice"
    m["age"] = 20
    m["gender"] = "female"

    // 序列化 map
    if err := enc.Encode(m); err != nil {
        fmt.Println("Error:", err)
        return
    }

    b := buf.Bytes()
    fmt.Println(b)
}

Ini akan mengeluarkan tatasusunan bait yang mewakili map bersiri.

Ringkasan

Di Golang, kita boleh menggunakan pustaka encoding/json atau encoding/gob untuk mensiri map ke dalam tatasusunan byte. Menggunakan siri JSON boleh mensiri map menjadi rentetan yang mudah dibaca, manakala siri Gob boleh memperoleh kelebihan dalam kecekapan. Pilih sahaja kaedah bersiri yang sesuai mengikut keperluan anda.

Atas ialah kandungan terperinci peta golang kepada bait. 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
Artikel sebelumnya:kunci padam peta golangArtikel seterusnya:kunci padam peta golang