标准库
像 fmt、os 等这样具有常用功能的内置包在 Go 语言中有 150 个以上,它们被称为标准库,大部分(一些底层的除外)内置于 Go 本身
unsafe
: 包含了一些打破 Go 语言“类型安全”的命令,一般的程序中不会被使用,可用在C/C++
程序的调用中。syscall
-os
-os/exec
:os
: 提供给我们一个平台无关性的操作系统功能接口,采用类Unix设计,隐藏了不同操作系统间差异,让不同的文件系统和操作系统对象表现一致。os/exec
: 提供我们运行外部操作系统命令和程序的方式syscall
: 底层的外部包,提供了操作系统底层调用的基本接口
archive/tar
和/zip-compress
:压缩(解压缩)文件功能fmt
-io
-bufio
-path/filepath
-flag
fmt
: 提供了格式化输入输出功能io
: 提供了基本输入输出功能,大多数是围绕系统功能的封装bufio
: 缓冲输入输出功能的封装。path/filepath
: 用来操作在当前系统中的目标文件名路径flag
: 对命令行参数的操作
strings
-strconv
-unicode
-regexp
-bytes
:strings
: 提供对字符串的操作strconv
: 提供将字符串转换为基础类型的功能unicode
: 为unicode
型的字符串提供特殊的功能regexp
: 正则表达式功能bytes
: 提供对字符 型分片的操作。index/suffixarray
: 子字符串快速查询。
math
-math/cmath
-math/big
-math/rand-sort
math
: 基本的数学函数math/cmath
: 对复数的操作math/rand
: 伪随机数生成。sort
: 为数组排序和自定义集合math/big
: 大数的实现和计算
container
-/list-ring-heap
: 实现对集合的操作。list
: 双链表。ring
: 环形链表。
time
-log
time
: 日期和时间的基本操作log
: 记录程序运行时产生的日志,我们将在后面的章节使用它