# 《Go语言标准库》The Golang Standard Library by Example #
Golang标准库。对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案。以示例驱动的方式讲解Golang的标准库。
标准库基于最新版本Go。注:目前 Go 标准库文档并没有标识某个 API 基于哪个版本的 Go,将来会加上这部分 [issue](https://github.com/golang/go/issues/5778)。
讲解中涉及到特定操作系统时,针对的都是 Linux/amd64。Go 中相关系统调用在 Linux 下,对于同一个系统调用,如果有对应的 `at` 版本,使用的都是 `at` 版本,如 `open` 系统调用使用都是 `openat`。更多信息参考 [Go语言中文网博客中关于系统调用的文章](http://blog.studygolang.com)。
## 交流 ##
欢迎大家加入QQ群:192706294 《Go语言实现与标准库》交流群
Go语言构建的 Go语言中文网:[http://studygolang.com](http://studygolang.com)
## 阅读 ##
为了更方便阅读,Go语言中文网搭建了阅读平台,可以更友好的在线阅读。
[Go语言中文网——Go语言标准库](http://books.studygolang.com/The-Golang-Standard-Library-by-Example)
## 捐赠 ##
如果您觉得本书对您有帮助,通过微信或支付宝捐赠作者,金额随意!
**由于无法从支付方获取支付者信息,请在支付的留言备注功能中附上 Go语言中文网账户的昵称等信息,以便我们记录!**
### 通过微信支付捐赠 ###
![wxpay.png](http://studygolang.qiniudn.com/img/wxpay.png)
### 通过支付宝捐赠 ###
![1.png](http://studygolang.qiniudn.com/170605/9d11b43988fbbb42a5da9f970a0f6818.png)
## 贡献者 ##
[hikerell](https://github.com/hikerell)
## 反馈 ##
由于本人能力有限,书中难免有写的不对之处,且目前所写内容没有经过校正。如果阅读过程中有任何疑问或觉得不对之处,欢迎提出,谢谢!
## 版权声明 ##
本书所有内容遵循 [CC-BY-SA 3.0协议(署名-相同方式共享)](http://zh.wikipedia.org/wiki/Wikipedia:CC-by-sa-3.0%E5%8D%8F%E8%AE%AE%E6%96%87%E6%9C%AC)
1. 常见误解
2. 常用手法
3. 如何理解,使用
4. 为什么接口如此组织
5. 和其它语言对比优缺点
- 简介
- 第一章 输入输出 (Input/Output)
- 1.1 io — 基本的 IO 接口
- 1.2 ioutil — 方便的 IO 操作函数集
- 1.3 fmt — 格式化 IO
- 1.4 bufio — 缓存 IO
- 第二章 文本
- 2.1 strings — 字符串操作
- 2.2 bytes — byte slice 便利操作
- 2.3 strconv — 字符串和基本数据类型之间转换
- 2.4 regexp — 正则表达式
- 2.5 unicode — Unicode 码点、UTF-8/16 编码
- 第三章 数据结构与算法
- 3.1 sort — 排序算法
- 3.2 index/suffixarray — 后缀数组实现子字符串查询
- 3.3 container — 容器数据类型:heap、list 和 ring
- 第四章 日期与时间
- 4.1 主要类型概述
- 4.2 时区
- 4.3 Time类型详解
- 4.4 定时器
- 第六章 文件系统
- 6.1 os — 平台无关的操作系统功能实现
- 6.2 path/filepath — 操作路径
- 第七章 数据持久存储与交换
- 7.1 database/sql — SQL/SQL-Like 数据库操作接口
- 第八章 数据压缩与归档
- 8.1 flate * DEFLATE 压缩算法
- 第九章 测试
- 9.1 testing * 单元测试
- 9.2 testing * 基准测试
- 9.3 testing * 子测试
- 9.4 testing * 运行并验证示例
- 9.5 testing * 其他功能
- 9.6 httptest * HTTP 测试辅助工具
- 9.7 总结
- 第十章 进程、线程与 goroutine
- 10.1 创建进程
- 10.2 进程属性和控制
- 10.3 线程
- 10.4 进程间通信
- 第十三章 应用构建 与 debug
- 13.1 flag * 命令行参数解析
- 13.2 log * 日志记录
- 13.3 expvar * 公共变量的标准化接口
- 13.4 runtime/debug * 运行时的调试工具