Golang二进制文件读写操作总结
使用 Golang 的 encoding/gob 包读写二进制文件非常方便,而且代码量也非常少。但是在需要自定义二进制格式(自定义二进制格式有可能做到更紧凑的数据表示和更快的读写速度)的场景下,这个包就不适用了,这时候就需要使用到 encoding/binary 包了。
encoding/binary 包实现了数字(number)和字节序列(byte sequences)之间的简单转换以及 varints 的编码和解码,varints 是一种使用一个或多个字节表示整型数据的方法,其中数值本身越小,其所占用的字节数越少。
接下来演示一下序列化数据后保存到本地,再反序列化本地的数据。
序列化数据后保存到本地
反序列化本地的数据
更多关于 encoding/binary 的内容请参考此包的源代码。
补充
除了上文的方法,下面小编还为大家整理了encoding/gob 包读写二进制文件的其他方法
gob是Golang自带的一个数据结构序列化的编码/解码工具,和JSON、XML、Google 的 protocol buffers类似。gob编码使用Encoder,解码使用Decoder。一种典型的应用场景就是RPC(remote procedure calls)。
接下来演示一下序列化数据后保存到本地,再反序列化本地的数据。
序列化数据后保存到本地
反序列化本地的数据