Golang 開発では、map
を byte
配列に変換する必要があることがよくあります (つまり、シリアル化)。これは、map
をネットワーク リクエストに渡すか、データベースに保存するか、他のシステムとやり取りする必要があることが考えられます。この記事では、Golang で map
を byte
配列に変換する方法を紹介します。
Golang では、標準ライブラリ encoding/json
によって提供される Marshal
関数を map # に使用できます。
##byte 配列にシリアル化されます。
Marshal この関数は、
interface{} タイプのデータを受け取り、
map を
byte 配列に変換できます。
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)) }
{"age":20,"gender":"female","name":"Alice"}
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) }
map を表すバイト配列を出力します。
encoding/json または
encoding/gob ライブラリを使用して
map シーケンスを変換できます。
byte 配列に変換します。 JSON シリアル化を使用すると、
map を読みやすい文字列にシリアル化できますが、Gob シリアル化では効率の面で利点が得られます。ニーズに応じて適切なシリアル化方法を選択してください。
以上がGolang マップからバイトへの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。