M
M
Mastering_Go_ZH_CN
Search…
介绍
[0 前言]
[1 Go与操作系统]
[2 Go内部机制]
[3 Go基本数据类型]
4 组合类型的使用
5 数据结构
6 Go package中不为人知的知识
[7 反射和接口]
8 Go UNIX系统编程
08.1 关于UNIX进程
08.2 flag包
08.3 io.Reader和io.Writer接口
08.4 bufio包
08.5 读取文本文件
08.6 从文件中读取所需的数据量
08.7 为什么我们使用二进制格式
08.8 读取CSV文件
08.9 写入文件
08.10 从磁盘加载和保存数据
08.11 再看strings包
08.12 关于bytes包
08.13 文件权限
08.14 处理Unix信号
08.15 Unix管道编程
08.16 遍历目录树
08.17 使用ePBF
08.18 关于syscall.PtraceRegs
08.19 跟踪系统调用
08.20 User ID和group ID
08.21 其他资源
08.22 练习
08.23 总结
9 并发-Goroutines,Channel和Pipeline
10 Go 并发-进阶讨论
11 代码测试,优化及分析
12 Go网络编程基础
13 网络编程 - 构建服务器与客户端
Powered By
GitBook
08.7 为什么我们使用二进制格式
在前一节中,
readSize.go
程序演示了如何逐字节读取文件,这是一种应用于二进制文件的技术。那么,你可能会问,既然文本格式更容易理解,为什么要读取二进制格式的数据呢?主要原因是节省空间。假设你想将数字
20
作为字符串存储到文件中。很容易理解,使用
ASCII
字符存储
20
需要两个字节,一个用于存储
2
,另一个用于存储
0
。以二进制格式存储
20
只需要一个字节,因为
20
可以用二进制表示为
00010100
,也可以用十六进制表示为
0x14
。
在处理少量数据时,这种差异可能看起来微不足道,但在处理应用程序(如数据库服务器)中的数据时,这种差异可能非常显著。
Previous
08.6 从文件中读取所需的数据量
Next
08.8 读取CSV文件
Last modified
2yr ago
Copy link