gob解码器试图解码成非指针

时间:2017-03-04 17:19:28

标签: go gob

在我的Go程序中,我使用gob编码[]字节数据

buf := new(bytes.Buffer)
    enc := gob.NewEncoder(buf)
        //data is []byte
        buf.Reset()
        enc.Encode(data)

但是当我尝试解码时,' gob解码器尝试解码为非指针'

buf := new(bytes.Buffer)
    d := gob.NewDecoder(buf)
        d.Decode(data)
        log.Printf("%s", d)

1 个答案:

答案 0 :(得分:2)

Gob要求你传递指针进行解码。

在你的情况下,你会这样做:

    d.Decode(&data)

原因是,它可能需要修改切片(即:使其更大,以适应解码的数组)