-1

gob 编码/解码有什么作用吗?在下面的示例中,解码前后的数据看起来相同。我很困惑,请指教

data = "ABC"
    buf := new(bytes.Buffer)

    //glob encoding
    enc := gob.NewEncoder(buf)
    enc.Encode(data)
    fmt.Println("Encoded:", data)  //Encoded: ABC

    //glob decoding
    d := gob.NewDecoder(buf)
    d.Decode(data)
    fmt.Println("Decoded: ", data) //Decoded:  ABC
4

1 回答 1

4

您的比较是错误的 - 将正在编码的数据 ( data) 与解码后的结果() 进行比较d.Decode(data),显然会导致您得到相同的结果(如果一切都按预期工作)。

编码本身将显示在下划线字节缓冲区中(尝试打印缓冲区本身 - fmt.Println(buf.Bytes()))。

阅读更多关于gob 包的信息

于 2017-03-04T20:19:21.500 回答