私の本能は、どうにかして文字列やバイト[]に変換する必要があると教えています(これはGoで同じものでもかまいません)。マップをシリアライズ/デシリアライズする方法
このパッケージ(http://golang.org/pkg/encoding/gob/)が見つかりましたが、その構造体のようですか?
私の本能は、どうにかして文字列やバイト[]に変換する必要があると教えています(これはGoで同じものでもかまいません)。マップをシリアライズ/デシリアライズする方法
このパッケージ(http://golang.org/pkg/encoding/gob/)が見つかりましたが、その構造体のようですか?
データのシリアル化には複数の方法があり、Goにはこれに対応するパッケージが多数用意されています。エンコーディングの一般的な方法のいくつかのためのパッケージ:
encoding/gob
encoding/xml
encoding/json
encoding/gob
ハンドルが細かいマッピングします。以下の例では、マップのエンコーディング/デコーディングの両方を示しています
package main
import (
"fmt"
"encoding/gob"
"bytes"
)
var m = map[string]int{"one":1, "two":2, "three":3}
func main() {
b := new(bytes.Buffer)
e := gob.NewEncoder(b)
// Encoding the map
err := e.Encode(m)
if err != nil {
panic(err)
}
var decodedMap map[string]int
d := gob.NewDecoder(b)
// Decoding the serialized data
err = d.Decode(&decodedMap)
if err != nil {
panic(err)
}
// Ta da! It is a map!
fmt.Printf("%#v\n", decodedMap)
}
ゴブパッケージを使用すると、マップをシリアライズできるようになります。私は符号化と復号の両方のマップを示す小さな例http://play.golang.org/p/6dX5SMdVtrを書いた。ヘッドアップのように、ゴブパッケージはチャンネルなどのすべてをエンコードできません。
編集:また、文字列と[]バイトはGoで同じではありません。