Not*_*fer 5

您不应该这样做,只需使用支持自动序列化和反序列化的序列化格式即可。Go 的标准库支持:

Gob:结构体的二进制编码。当您对与其他语言的交流不感兴趣时​​推荐使用。https://golang.org/pkg/encoding/gob/

JSON:好吧,你知道...如果你需要与其他语言交换序列化数据。https://golang.org/pkg/encoding/json/

XML:如果你觉得复古。

当然 protobuf 是另一个要考虑的选择,如果您想与其他语言进行类型安全的交换,而 json 不支持。 https://github.com/golang/protobuf

  • 在某些情况下,您需要处理二进制数据,并且兼容性/标准/字节序不是问题。如果 OP 不知道 Gob/JSON/XML 和原始需求可以通过这些来满足,那么这个答案可能是一个很好的贡献,但对于需要二进制来获得所需吞吐量的场景绝不是有效的或性能。在这种情况下,提出 JSON/XML 是完全错误的。 (3认同)
  • 如果您正在编写二进制文件,您应该 100% 序列化为二进制文件。二进制格式,erm,在世界上已经存在,你知道,它们可以通过结构来建模。 (2认同)