8

( 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()誰かがいつそれを使用するのか、そしてその理由を説明できますか?

4

3 に答える 3