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发布于 2017-03-04 20:19:21
您的比较是错误的--将正在编码的数据(data)与解码后的结果(d.Decode(data))进行比较,显然会导致相同的结果(如果一切都按预期工作)。
编码本身将显示在下划线字节缓冲区中(尝试打印缓冲区本身- fmt.Println(buf.Bytes()))。
阅读有关采空区包装的更多信息
https://stackoverflow.com/questions/42600441
复制相似问题