如何使用gob编码将结构编码为字节片,并将字节片解码回原始结构?

如何使用gob编码将结构编码为字节片,并将字节片解码回原始结构?,go,encoding,gob,Go,Encoding,Gob,我正在尝试将结构转换为字节(通过gob编码),然后将这些字节解压回原始对象。我得到了意外的结果(对象没有得到正确的值)。请帮我修改程序 输入: 主程序包 进口( “字节” “编码/gob” “fmt” ) 类型对象结构{ 名称字符串 年龄智力 } func main(){ inputObject:=对象{age:22,名称:“Zloy”} fmt.Println(输入对象) 变量inputBuffer字节。缓冲区 gob.NewEncoder(&inputBuffer).Encode(input

我正在尝试将结构转换为字节(通过gob编码),然后将这些字节解压回原始对象。我得到了意外的结果(对象没有得到正确的值)。请帮我修改程序

输入:

主程序包
进口(
“字节”
“编码/gob”
“fmt”
)
类型对象结构{
名称字符串
年龄智力
}
func main(){
inputObject:=对象{age:22,名称:“Zloy”}
fmt.Println(输入对象)
变量inputBuffer字节。缓冲区
gob.NewEncoder(&inputBuffer).Encode(inputObject)
fmt.Println(输入缓冲区)
destBytes:=inputBuffer.Bytes()
fmt.Println(“\n”,destBytes,“\n”)
变量outputBuffer字节。缓冲区
outputBuffer.Write(destBytes)
fmt.Println(输出缓冲区)
变量outputObject对象
gob.NewDecoder(&outputBuffer).解码(&outputObject)
fmt.Println(输出对象)
}
输出:

{Zloy 22}
{[18 255 129 3 1 1 6 111 98 106 101 99 116 1 255 130 0 0 0] 0 0}

 [18 255 129 3 1 1 6 111 98 106 101 99 116 1 255 130 0 0 0]     

{[18 255 129 3 1 1 6 111 98 106 101 99 116 1 255 130 0 0 0] 0 0}
{ 0}
预期产出:

{Zloy 22}
{[18 255 129 3 1 1 6 111 98 106 101 99 116 1 255 130 0 0 0] 0 0}

 [18 255 129 3 1 1 6 111 98 106 101 99 116 1 255 130 0 0 0]     

{[18 255 129 3 1 1 6 111 98 106 101 99 116 1 255 130 0 0 0] 0 0}
{Zloy 22}

您需要将字段名大写,使其可公开导出/导入:

type object struct {
    Name string
    Age  int
}