2025年Go之gob

Go之gobGob 是 Go 自己的以二进制形式序列化和反序列化程序数据的格式 在 encoding 包中可以找到 这种格式的数据简称为 Gob 即 Go binary 的缩写 一般用于传递远端程序调用 RPC 的参数和结果 它和 JSON 或 XML 有什么不同呢 Gob 特定地用于纯 Go 的环境中

大家好,我是讯享网,很高兴认识大家。

Gob 是 Go 自己的以二进制形式序列化和反序列化程序数据的格式;在 encoding 包中可以找到。这种格式的数据简称为 Gob (即 Go binary 的缩写)
一般用于传递远端程序调用(RPC)的参数和结果。
它和 JSON 或 XML 有什么不同呢?Gob 特定地用于纯 Go 的环境中,例如,两个用 Go 写的服务之间的通信。这样的话服务可以被实现得更加高效和优化。 Gob 不是可外部定义,语言无关的编码方式。因此它的首选格式是二进制,而不是像 JSON 和 XML 那样的文本格式。 Gob 并不是一种不同于 Go 的语言,而是在编码和解码过程中用到了 Go 的反射。
Gob 文件或流是完全自描述的:里面包含的所有类型都有一个对应的描述,并且总是可以用 Go 解码,而不需要了解文件的内容。
只有可导出的字段会被编码,零值会被忽略。在解码结构体的时候,只有同时匹配名称和可兼容类型的字段才会被解码。当源数据类型增加新字段后,Gob 解码客户端仍然可以以这种方式正常工作:解码客户端会继续识别以前存在的字段。并且还提供了很大的灵活性,比如在发送者看来,整数被编码成没有固定长度的可变长度,而忽略具体的 Go 类型。


讯享网

参考链接

小讯
上一篇 2025-03-28 07:24
下一篇 2025-04-09 21:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/33339.html