本章开头用以下形式的图来表述文件格式,虽然有创意,但是没啥效果。基本延续了作者越描越糊涂的风格。
其实对撸过代码的人来说,文件格式就是落到盘上的复合数据结构,所以关键点就是能否保证格式不错、顺序不乱。书中介绍了serde包,有序列化反序列化的功能,还支持bincode。
为了能看到文件内容,举了一个例子用于读取文件并显示为十六进制。其中有一句 while let OK(...){……},看起来多像while not EOF 啊!作用也一样。
插句话——想起来之前一本介绍人类学习外语的书,分析学外语就是2件事:和母语找相同点建立联系,和母语找不同点形成新习惯。感觉学新的程序设计语言也差不多。
那么对应一下,打开存在的文件在rust里就是File::Open,创建或覆盖文件则是File::create。
另外还有个好用的工具std::fs::Path可以帮助我们不用知道文件系统就能轻松操作路径。