一、golang中的gob包是什么?
gob是golang包自带的一个数据结构序列化的编码/解码工具。
二、go标准库中的gob编码规则
当发生方传递的是struct{A,B int}结构的值,接收方可以允许前9种结构,但是后4四种结构却是不允许的。
允许模拟相似,但是不允许矛盾。
各个类型的编码规则
1、结构体内只有导出字段并且导出字段才能被编码和解码
2、编码至少存在一个可编码字段,解码也至少需要一个能被解码字段,不然会报错。
3、解码方的导出字段必须存在与编码后的同名字段,类型一致,或者接收方为同类型指针,或为指向指针的指针类型。(比如,编码:A int,则解码可以为A int,A *int,A **int,这三种的一种,虽然A ***int不会报错,但是接收不到值),如果导出字段名称一样,但是类型不一样(排除前面的那些情况)的话,就会报错。
更多go语言内容请关注:http://www.fastgolang.com
有疑问加站长微信联系(非本文作者)