Skip to content

Instantly share code, notes, and snippets.

@5idu
Created April 16, 2019 10:05
Show Gist options
  • Save 5idu/e1473414f7e0c4aa66c5c63596d9b08e to your computer and use it in GitHub Desktop.
Save 5idu/e1473414f7e0c4aa66c5c63596d9b08e to your computer and use it in GitHub Desktop.
Go标准库功能简介
### Go标准库可以大致按其中库的功能进行以下粗略的分类
- 输入输出: 这个分类包括二进制以及文本格式在屏幕、键盘、文件以及其他设备上的输入输出等,比如二进制文件的读写。对应于此分类的包有`bufio`、`fmt`、`io`、`log`和`flag`等,其中 `flag` 用于处理命令行参数。
- 文本处理: 这个分类包括字符串和文本内容的处理,比如字符编码转换等。对应于此分类的包有`encoding`、 `bytes`、 `strings`、 `strconv`、 `text`、 `mime`、 `unicode`、 `regexp`、`index`和`path`等。其中`path`用于处理路径字符串。
- 网络: 这个分类包括开发网络程序所需要的包,比如Socket编程和网站开发等。对应于此分类的包有:`net`、 `http`、`html`和`expvar`等。
- 系统: 这个分类包含对系统功能的封装,比如对操作系统的交互以及原子性操作等。对应于此分类的包有`os`、`syscall`、`sync`、`time`、`context`和`unsafe`等。
- 数据结构与算法: 对应于此分类的包有`math`、`sort`、 `container`、 `crypto`、 `hash`、`archive`、`compress`和`image`等。因为`image`包里提供的图像编解码都是算法,所以也归入此类。
- 运行时: 对应于此分类的包有:`runtime`、 `reflect`和`go`等
- 时间:时间处理,对应的是`time`
- 测试:测试相关,提供单元测试、基准测试等,有`testing`
### 完整包列表
![Image text](https://img-blog.csdnimg.cn/20181122133038383.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtaWxlamlhc21pbGU=,size_16,color_FFFFFF,t_70)
![Image text](https://img-blog.csdnimg.cn/20181122133121371.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtaWxlamlhc21pbGU=,size_16,color_FFFFFF,t_70)
![Image text](https://img-blog.csdnimg.cn/20181122133138459.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtaWxlamlhc21pbGU=,size_16,color_FFFFFF,t_70)
![Image text](https://img-blog.csdnimg.cn/20181122133154889.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtaWxlamlhc21pbGU=,size_16,color_FFFFFF,t_70)
![Image text](https://img-blog.csdnimg.cn/20181122133210116.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtaWxlamlhc21pbGU=,size_16,color_FFFFFF,t_70)
![Image text](https://img-blog.csdnimg.cn/20181122133225130.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtaWxlamlhc21pbGU=,size_16,color_FFFFFF,t_70)
![Image text](https://img-blog.csdnimg.cn/20181122133237835.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtaWxlamlhc21pbGU=,size_16,color_FFFFFF,t_70)
![Image text](https://img-blog.csdnimg.cn/20181122133316248.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtaWxlamlhc21pbGU=,size_16,color_FFFFFF,t_70)
![Image text](https://img-blog.csdnimg.cn/20181122133339570.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtaWxlamlhc21pbGU=,size_16,color_FFFFFF,t_70)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment