简介
大约 5 分钟
简介
写下本文时,go的发行版已经来到了1.21,距离本站刚建立的时间也已经快有一年多了。标准库的内容一直没有更新是因为标准库的内容实在太多了,所以下面会简单的概括一些常用的标准库的作用,这样可以挑选自己感兴趣的去了解,每一个标准库的包级注释都会详细说明这个包是干什么用的。
fmt
,用于处理格式化输入输出的包html
,html模板操作包net
,提供一系列网络操作的包,相当的强大flag
,命令行参数解析包reflect
,反射操作包log
,自带的日志包sort
,排序操作包regex
,正则表达式包image
,图像操作的包time
,时间操作的包unicode
,unicode字符集操作包unsafe
,提供没有类型限制的指针操作syscall
,操作系统提供的系统调用包testing
,测试包,主要是写测试的时候用。sync
,并发操作包context
,上下文包strconv
,字符串转换包strings
,字符串操作包bytes
,字节切片操作包maps
,map操作包slices
,切片操作包io
,定义了一系列基础的IO接口,例如常用的Closer
,Writer
等,还有一些基础的IO操作函数。io/fs
,定义了一系列文件系统的接口,算是对文件系统的抽象。os
,操作系统进行交互的包,提供的是一系列具体的函数,可以简单理解为是上面两个的具体实现。os/signal
,操作系统信号包,用于监听操作系统的信号,主要用于实现程序的优雅关闭。os/exec
,操作系统命令包,用于执行操作系统命令。os/user
,操作系统用户包,用于获取操作系统的用户信息。bufio
,有缓冲IO读写包。path
,处理斜杠分隔路径的包,例如url之类的。path/filepath
,处理文件路径的包。math
,数学操作包math/bits
,位运算操作包math/cmplx
,复数操作包,也提供了一些三角函数的工具函数。math/rand
,伪随机包math/big
,大数高精度计算包container/heap
,最小堆的实现container/list
,双线链表的实现container/ring
,环的实现archive/zip
,zip压缩归档的包archive/tar
,tar归档文件的包compress
,压缩算法实现的包,比如gzip,flate。database/sql
,与数据库进行交互的包encoding
,处理编码的包,其下有很多子包,比如json
,xml
之类的,还有base64
这种。crypto
,处理加密的包,其下有很多子包,比如sha1,rsa等go/ast
,go源代码抽象语法树映射的包go/parser
,将go源代码解析成抽象语法树的包go/importer
,提供了对导入器的访问go/format
,go语言格式化包areana
,提供可手动分配和释放内存的功能,处于实验阶段runtime
,运行时操作包,go中有许多操作都是这个包实现的。