( gob) のドキュメントを読みましたが、いくつか問題があります。
これで、構造をエンコードしてそのようにデコードする方法がわかりました。
func main() {
s1 := &S{
Field1: "Hello Gob",
Field2: 999,
}
log.Println("Original value:", s1)
buf := new(bytes.Buffer)
err := gob.NewEncoder(buf).Encode(s1)
if err != nil {
log.Println("Encode:", err)
return
}
s2 := &S{}
err = gob.NewDecoder(buf).Decode(s2)
if err != nil {
log.Println("Decode:", err)
return
}
log.Println("Decoded value:", s2)
}
しかし、このメソッドの目的がわかりません。gob.Register()
誰かがいつそれを使用するのか、そしてその理由を説明できますか?