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.
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"}
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.
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!