peta golang kepada bait

王林
Lepaskan: 2023-05-13 10:22:38
asal
1168 orang telah melayarinya

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))
}
Salin selepas log masuk

Kod di atas akan mengeluarkan rentetan berikut:

{"age":20,"gender":"female","name":"Alice"}
Salin selepas log masuk

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)
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan