1. Archive
archive/tar:实现对 tar 存档的访问。archive/zip:支持读取和写入 zip 存档。
2. Arena
arena:提供为 Go 值集合分配内存的能力,并可以一次安全地手动释放这些空间。
3. Bufio
bufio:实现缓冲 I/O,包装io.Reader或io.Writer对象,创建另一个对象。
4. Builtin
builtin:提供 Go 预定义标识符的文档。
5. Bytes
bytes:实现字节片操作的函数。
6. Compress
compress/bzip2:实现 bzip2 解压缩。compress/flate:实现 RFC 1951 中描述的 DEFLATE 压缩数据格式。compress/gzip:按照 RFC 1952 的规定,实现 gzip 格式压缩文件的读写。compress/lzw:实现 LempeL-Ziv-Welch 压缩数据格式。compress/zlib:实现 zlib 格式压缩数据的读写,按 RFC 1950 中所规定。
7. Container
container/heap:实现heap.Interface的任何类型提供堆操作。container/list:实现一个双链表。container/ring:实现环形链表的操作。
8. Context
context:定义Context类型,它跨 API 边界和进程之间携带截止日期、取消信号和其他请求范围值。
9. Crypto
crypto:收集常用的加密常数。crypto/aes:实现 AES 加密(以前称为 Rijndael)。crypto/boring:公开仅在使用 Go+BoringCrypto 构建时可用的函数。crypto/cipher:实现标准的分组密码模式,这些模式可以封装在低级分组密码实现中。crypto/des:实现数据加密标准 (DES) 和三重数据加密算法 (TDEA)。crypto/dsa:实现 FIPS 186-3 中定义的数字签名算法。crypto/ecdh:在 NIST 曲线和 Curve25519 上实现椭圆曲线 Diffie-Hellman。crypto/ecdsa:实现 FIPS 186-4 和 SEC 1 2.0 版中定义的椭圆曲线数字签名算法。crypto/ed25519:实现 Ed25519 签名算法。crypto/elliptic:在素数字段上实现标准 NIST P-224、P-256、P-384 和 P-521 椭圆曲线。crypto/hmac:实现密钥散列消息认证码 (HMAC)。crypto/md5:实现 RFC 1321 中定义的 MD5 哈希算法。crypto/rand:实现密码安全的随机数生成器。crypto/rc4:实现 Bruce Schneier 的应用密码学中定义的 RC4 加密。crypto/rsa:按照 PKCS##1 和 RFC 8017 的规定实现 RSA 加密。crypto/sha1:实现 RFC 3174 中定义的 SHA-1 哈希算法。crypto/sha256:实现 FIPS 180-4 中定义的 SHA224 和 SHA256 散列算法。crypto/sha512:实现 FIPS 180-4 中定义的 SHA-384、SHA-512、SHA-512/224 和 SHA-512/256 哈希算法。crypto/subtle:在密码代码中通常有用但需要仔细考虑才能正确使用的函数。crypto/tls:部分实现 RFC 5246 中规定的 TLS 1.2 和 RFC 8446 中指定的 TLS 1.3。crypto/tls/fipsonly:仅将所有 TLS 配置限制为 FIPS 批准的设置。crypto/x509:实现 X.509 标准的子集。crypto/pkix:包含用于 ASN.1 解析和序列化 X.509 证书、CRL 和 OCSP 的共享低级结构。
10. Database
database/sql:围绕 SQL(或类似 SQL)的数据库提供通用接口。database/sql/driver:定义要由包sql使用的数据库驱动程序实现的接口。
11. Debug
debug/buildinfo:提供对嵌入在 Go 二进制文件中的信息的访问,这些信息是如何构建的。debug/dwarf:提供对从可执行文件加载的 dwarf 调试信息的访问,如 dwarf 2.0 标准中所定义。debug/elf:实现对 ELF 对象文件的访问。debug/gosym:实现对 GC 编译器生成的 Go 二进制文件中嵌入的 Go 符号和行号表的访问。debug/macho:实现对 Mach-O 对象文件的访问。debug/pe:实现对 PE(Microsoft Windows 可移植可执行文件)文件的访问。debug/plan9obj:实现对 Plan 9 a.out 对象文件的访问。
12. Embed
embed:提供对运行的 Go 程序中嵌入的文件的访问。
13. Encoding
encoding/ascii85:实现 Btoa 工具和 Adobe 的 PostScript 和 PDF 文档格式中使用的 ascii85 数据编码。encoding/asn1:按照 ITU-T Rec X.690 的定义,实现对 DER 编码 ASN.1 数据结构的解析。encoding/base32:实现 RFC 4648 指定的 Base32 编码。encoding/base64:实现 RFC 4648 指定的 Base64 编码。encoding/binary:实现数字和字节序列之间的简单转换以及变量的编码和解码。encoding/csv:读取和写入逗号分隔值 (CSV) 文件。encoding/gob:管理 Gobs 流——编码器(发射器)和解码器(接收器)之间交换的二进制值。encoding/hex:实现十六进制编码和解码。encoding/json:实现 RFC 7159 中定义的 JSON 编码和解码。encoding/pem:实现 PEM 数据编码,该编码源自隐私增强邮件。encoding/xml:实现一个简单的 XML 1.0 解析器,它可以理解 XML 名称空间。
14. Errors
errors:实现处理错误的函数。
15. Expvar
expvar:为公共变量(如服务器中的操作计数器)提供标准化接口。
16. Flag
flag:实现命令行标志解析。
17. Fmt
fmt:使用类似于 C 的printf和scanf的函数实现格式化的 I/O。
18. Go
go/ast:声明用于表示 Go 包的语法树的类型。go/build:收集有关 Go 软件包的信息。go/build/constraint:实现构建约束行的解析和求值。go/constant:实现表示非类型化 Go 常量及其相应操作的值。go/doc:从 Go AST 中提取源代码文档。go/comment:实现 Go 文档注释的解析和重新格式化,这些注释直接位于包、const、func、type或var的顶级声明之前。go/format:实现 Go 源代码的标准格式。go/importer:提供对导出数据导入器的访问。go/parser:实现 Go 源文件的解析器。go/printer:实现 AST 节点的打印。go/scanner:实现 Go 源文本的扫描程序。go/token:定义表示 Go 编程语言的词汇标记的常量和基本操作。go/types:声明数据类型并实现 Go 包的类型检查算法。
19. Hash
hash:为哈希函数提供接口。hash/adler32:实现 Adler-32 校验和。hash/crc32:实现 32 位循环冗余校验 (CRC-32)。hash/crc64:实现 64 位循环冗余校验 (CRC-64)。hash/fnv:实现 FNV-1 和 FNV-1a 的非加密散列函数。hash/maphash:提供字节序列的哈希函数。
20. HTML
html:提供转义和取消转义 HTML 文本的功能。html/template:实现数据驱动模板,用于生成 HTML 输出,防止代码注入。
21. Image
image:实现基本的二维图像库。image/color:实现基本颜色库。image/color/palette:提供标准调色板。image/draw:提供图像合成功能。image/gif:实现 GIF 图像解码器和编码器。image/jpeg:实现 JPEG 图像解码器和编码器。image/png:实现 PNG 图像解码器和编码器。
22. Index
index/suffixarray:使用内存中的后缀数组,在对数时间内实现子字符串搜索。
23. IO
io:提供 I/O 原语的基本接口。io/fs:定义文件系统的基本接口。io/ioutil:实现一些 I/O 实用程序功能。
24. Log
log:实现简单的日志记录包。log/syslog:提供系统日志服务的简单界面。
25. Math
math:提供基本常数和数学函数。math/big:实现任意精度算术(大数字)。math/bits:实现位计数和操作函数。math/cmplx:为复数提供基本常数和数学函数。math/rand:实现不适合安全敏感工作的伪随机数生成器。
26. Mime
mime:实现 MIME 规范的部分功能。mime/multipart:实现 MIME 多部分解析,符合 RFC 2046 中所定义。mime/quotedprintable:实现 RFC 2045 指定的引用可打印编码。
27. Net
net:为网络 I/O 提供可移植接口,包括 TCP/IP、UDP、域名解析和 Unix 套接字。net/http:提供 HTTP 客户端和服务器实现。net/http/cgi:实现 RFC 3875 中规定的 CGI(公共网关接口)。net/http/cookiejar:实现符合 RFC 6265 的 HTTP CookieJar。net/http/fcgi:实现 FastCGI 协议。net/http/httptest:提供用于 HTTP 测试的实用程序。net/http/httptrace:提供跟踪 HTTP 客户端请求中事件的机制。net/http/httputil:补充 HTTP 实用工具功能。net/http/pprof:提供 HTTP 运行时性能分析工具,输出格式可被 pprof 可视化工具使用。net/mail:实现邮件消息的解析。net/netip:定义一个小值类型的 IP 地址类型。net/rpc:通过网络或其他 I/O 连接访问对象的导出方法。net/rpc/jsonrpc:为 RPC 包实现 JSON-RPC 1.0。net/smtp:实现 RFC 5321 中定义的简单邮件传输协议。net/textproto:实现基于文本的请求/响应协议的通用支持(例如 HTTP、NNTP 和 SMTP)。net/url:解析 URL 并实现查询转义。
28. OS
os:为操作系统功能提供独立于平台的接口。os/exec:运行外部命令。os/signal:实现对输入信号的访问。os/user:允许按名称或 ID 查找用户帐户。
29. Path
path:实现用于操作斜杠分隔路径的实用程序例程。path/filepath:以与目标操作系统定义的文件路径兼容的方式操作文件名路径。
30. Plugin
plugin:实现 Go 插件的加载和符号解析。
31. Reflect
reflect:实现运行时反射,允许程序操作具有任意类型的对象。
32. Regexp
regexp:实现正则表达式搜索。regexp/syntax:将正则表达式解析为解析树,并将解析树编译为程序。
33. Runtime
runtime:包含与 Go 的运行时系统交互的操作,例如控制 goroutine 的函数。runtime/cgo:包含对 cgo 工具生成的代码的运行时支持。runtime/coverage:提供覆盖率数据操作。runtime/debug:包含程序运行时的调试工具。runtime/metrics:提供接口来访问运行时导出的指标。runtime/pprof:以 pprof 格式记录运行时分析数据。runtime/race:实现数据竞争检测逻辑。runtime/trace:提供生成程序跟踪数据的工具。
34. Sort
sort:提供用于排序切片和用户定义集合的工具。
35. Strconv
strconv:实现基本数据类型与字符串表示之间的转换。
36. Strings
strings:实现操作 UTF-8 编码字符串的简单函数。
37. Sync
sync:提供基本的同步原语,例如互斥锁。sync/atomic:提供用于实现同步算法的低级原子内存原语。
38. Syscall
syscall:包含低级操作系统原语接口。syscall/js:在 js/wasm 体系结构中访问 WebAssembly 主机环境。
39. Testing
testing:为 Go 包的自动测试提供支持。testing/fstest:实现对文件系统的测试。testing/iotest:实现主要用于测试的读写器。testing/quick:提供工具来帮助黑盒测试。
40. Text
text/scanner:提供 UTF-8 编码文本的扫描器和标记器。text/tabwriter:实现一个过滤器,将带有制表符的输入转换为对齐的文本。text/template:实现用于生成文本输出的数据驱动模板。text/template/parse:为 text/template 和 html/template 定义的模板构建解析树。
41. Time
time:提供测量和显示时间的功能。time/tzdata:提供时区数据库的嵌入版本。
42. Unicode
unicode:提供数据和函数来测试 Unicode 代码点的属性。unicode/utf16:实现 UTF-16 序列的编码和解码。unicode/utf8:实现支持 UTF-8 编码文本的函数和常量。
43. Unsafe
unsafe:提供 Go 程序中底层内存操作的低级接口。允许程序绕过 Go 类型安全机制直接操作指针和内存地址。
