archive
- archive/tar - 包 tar 实现对 tar 存档的访问。
- archive/zip - 软件包 zip 支持读取和写入 ZIP 存档。
arena
- arena - arena 包提供了为 Go 值集合分配内存并一次手动释放该空间的能力。
bufio
- bufio - 包 bufio 实现缓冲 I/O。它包装了一个 io.Reader 或 io.Writer 对象,创建另一个对象(Reader 或 Writer),该对象也实现接口,但为文本 I/O 提供缓冲和一些帮助。
builtin
- builtin - Package builtin 为 Go 的预声明标识符提供了文档。
bytes
- bytes - Package bytes 实现用于作字节切片的函数。
cmd
- cmd/addr2line - Addr2line 是 GNU addr2line 工具的最小模拟,刚好足以支持 pprof。
- cmd/asm - Asm(通常调用为 “go tool asm”)将源文件汇编成一个对象文件,该文件以参数源文件的基名称命名,并带有 .o 后缀。
- cmd/buildid - Buildid 显示或更新存储在 Go 包或二进制文件中的构建 ID。
- cmd/cgo - Cgo 允许创建调用 C 代码的 Go 包。
- cmd/compile - Compile,通常作为 “go tool compile” 调用,编译一个包含命令行上命名的文件的 Go 包。
- cmd/covdata - Covdata 是一个程序,用于从第二代覆盖率测试输出文件(从运行的应用程序或集成测试生成的文件)中作和生成报告。
- cmd/cover - Cover 是一个程序,用于分析由 ‘go test -coverprofile=cover.out’ 生成的覆盖率配置文件。
- cmd/dist - Dist 帮助引导、构建和测试 Go 发行版。
- cmd/distpack - Distpack 为 Go 分配创建 tgz 和 zip 文件。
- cmd/doc - Doc(通常作为 go doc 运行)接受零个、一个或两个参数。
- cmd/fix - Fix 会查找使用旧 API 的 Go 程序,并重写它们以使用较新的 API 。
- cmd/go - Go 是管理 Go 源代码的工具。
- cmd/gofmt - Gofmt 格式化 Go 程序。
- cmd/link - Link,通常作为 “go tool link” 调用,读取包 main 的 Go 存档或对象及其依赖项,并将它们组合成一个可执行的二进制文件。
- cmd/nm - Nm 列出了对象文件、归档文件或可执行文件定义或使用的符号。
- cmd/objdump - Objdump 反汇编可执行文件。
- cmd/pack - Pack 是传统 Unix ar 工具的简单版本。
- cmd/pprof - Pprof 解释并显示 Go 程序的配置文件。
- cmd/preprofile - Preprofile 创建 pprof 配置文件的中间表示形式,以便在编译器中的 PGO 期间使用。
- cmd/test2json - test2json 将 go test 输出转换为机器可读的 JSON 流。
- cmd/tools -
- cmd/trace - Trace 是用于查看跟踪文件的工具。
- cmd/vet - Vet 检查 Go 源代码并报告可疑结构,例如参数与格式字符串不一致的 Printf 调用。
cmp
- cmp - 包 cmp 提供与比较有序值相关的类型和函数。
compress
- compress/bzip2 - 包 bzip2 实现 bzip2 解压缩。
- compress/flate - Package flate 实现 RFC 1951 中描述的 DEFLATE 压缩数据格式。
- compress/gzip - 软件包 gzip 实现对 gzip 格式压缩文件的读取和写入,如 RFC 1952 中所指定。
- compress/lzw - 包 lzw 实现了 Lempel-Ziv-Welch 压缩数据格式,如 T. A. Welch,“A Technique for High-Performance Data Compression”, Computer, 17(6) (1984 年 6 月),第 8-19 页所述。
- compress/zlib - 软件包 zlib 实现对 zlib 格式压缩数据的读取和写入,如 RFC 1950 中所指定。
container
- container/heap - Package heap 为实现 heap 的任何类型的 package 提供heap作。接口。
- container/list - Package list 实现了双向链表。
- container/ring - Package ring 实现对循环列表的作。
context
- context - Package context 定义 Context 类型,该类型跨 API 边界和进程之间携带截止日期、取消信号和其他请求范围的值。
crypto
- crypto - Package crypto 收集常见的加密常量。
- crypto/aes - 软件包 aes 实施 AES 加密(以前称为 Rijndael),如美国联邦信息处理标准出版物 197 中所定义。
- crypto/boring - Package Boring 公开了仅在使用 Go+BoringCrypto 构建时可用的函数。
- crypto/cipher - Package cipher 实现标准的块密码模式,这些模式可以包装在低级块密码实现周围。
- crypto/des - Package des 实施美国联邦信息处理标准出版物 46-3 中定义的数据加密标准 (DES) 和三重数据加密算法 (TDEA)。
- crypto/dsa - 软件包 dsa 实施 FIPS 186-3 中定义的数字签名算法。
- crypto/ecdh - 软件包 ecdh 在 NIST 曲线和 Curve25519 上实现椭圆曲线 Diffie-Hellman。
- crypto/ecdsa - 软件包 ecdsa 实现了 [FIPS 186-5] 中定义的椭圆曲线数字签名算法。
- crypto/ed25519 - 包 ed25519 实现了 Ed25519 签名算法。
- crypto/elliptic - 包椭圆在素数场上实现标准 NIST P-224、P-256、P-384 和 P-521 椭圆曲线。
- crypto/fips140 -
- crypto/hkdf - 软件包 hkdf 实现 RFC 5869 中定义的基于 HMAC 的提取和扩展密钥派生函数 (HKDF)。
- crypto/hmac - 软件包 hmac 实现美国联邦信息处理标准出版物 198 中定义的密钥哈希消息身份验证代码 (HMAC)。
- crypto/md5 - 软件包 md5 实现 RFC 1321 中定义的 MD5 哈希算法。
- crypto/mlkem - 软件包 mlkem 实现 [NIST FIPS 203] 中指定的抗量子密钥封装方法 ML-KEM(以前称为 Kyber)。
- crypto/pbkdf2 - 软件包 pbkdf2 实现了 RFC 8018 (PKCS #5 v2.1) 中定义的密钥派生函数 PBKDF2。
- crypto/rand - 软件包 rand 实现了一个加密安全的随机数生成器。
- crypto/rc4 - 软件包 rc4 实现了 RC4 加密,如 Bruce Schneier 的 Applied Cryptography 中所定义。
- crypto/rsa - 软件包 rsa 实施 PKCS #1 和 RFC 8017 中指定的 RSA 加密。
- crypto/sha1 - 软件包 sha1 实现 RFC 3174 中定义的 SHA-1 哈希算法。
- crypto/sha256 - 程序包 sha256 实现 FIPS 180-4 中定义的 SHA224 和 SHA256 哈希算法。
- crypto/sha3 - 软件包 sha3 实现 FIPS 202 中定义的 SHA-3 哈希算法和 SHAKE 可扩展输出函数。
- crypto/sha512 - 软件包 sha512 实现 FIPS 180-4 中定义的 SHA-384、SHA-512、SHA-512/224 和 SHA-512/256 哈希算法。
- crypto/subtle - Package subtle 实现的函数在加密代码中通常很有用,但需要仔细考虑才能正确使用。
- crypto/tls - 软件包 tls 部分实现 RFC 5246 中指定的 TLS 1.2 和 RFC 8446 中指定的 TLS 1.3。
- crypto/tls/fipsonly - 软件包 fipsonly 将所有 TLS 配置限制为 FIPS 批准的设置。
- crypto/x509 - 软件包 x509 实现 X.509 标准的子集。
- crypto/x509/pkix - 软件包 pkix 包含共享的低级结构,用于 X.509 证书、CRL 和 OCSP 的 ASN.1 解析和序列化。
database
- database/sql - 软件包 sql 提供了围绕 SQL(或类似 SQL)数据库的通用接口。
- database/sql/driver - Package driver 定义要由数据库驱动程序实现的接口,就像 package sql 使用的接口一样。
debug
- debug/buildinfo - 包 buildinfo 提供了对嵌入在 Go 二进制文件中的有关其构建方式的信息的访问。
- debug/dwarf - 软件包 dwarf 提供对从可执行文件加载的 DWARF 调试信息的访问,如 DWARF 2.0 标准 http://dwarfstd.org/doc/dwarf-2.0.0.pdf 中所定义。
- debug/elf - 软件包 elf 实现对 ELF 对象文件的访问。
- debug/gosym - 软件包 gosym 实现了对 gc 编译器生成的 Go 二进制文件中嵌入的 Go 符号和行号表的访问。
- debug/macho - 软件包 macho 实现对 Mach-O 目标文件的访问。
- debug/pe - 包 pe 实现对 PE (Microsoft Windows Portable Executable) 文件的访问。
- debug/plan9obj - 软件包 plan9obj 实现对 Plan 9 a.out 对象文件的访问。
embed
- embed - Package embed 提供对正在运行的 Go 程序中嵌入的文件的访问。
encoding
- encoding - 包编码定义其他包共享的接口,这些包将数据与字节级和文本表示形式相互转换。
- encoding/ascii85 - 软件包 ascii85 实现了 btoa 工具中使用的 ascii85 数据编码以及 Adobe 的 PostScript 和 PDF 文档格式。
- encoding/asn1 - 软件包 asn1 实现了对 TER-T REC X.690 中定义的 DER 编码的 ASN.1 数据结构的解析。
- encoding/base32 - 软件包 base32 实现 RFC 4648 指定的 base32 编码。
- encoding/base64 - 软件包 base64 实现 RFC 4648 指定的 base64 编码。
- encoding/binary - Package binary 实现了数字和字节序列之间的简单转换以及 varint 的编码和解码。
- encoding/csv - 软件包 csv 读取和写入逗号分隔值 (CSV) 文件。
- encoding/gob - Package gob 管理 gobs 流 - 在 [编码器](发射器)和 [解码器](接收器)之间交换的二进制值。
- encoding/hex - 十六进制包实现十六进制编码和解码。
- encoding/json - 包 json 实现 RFC 7159 中定义的 JSON 编码和解码。
- encoding/pem - 软件包 pem 实现 PEM 数据编码,该编码源自 Privacy Enhanced Mail。
- encoding/xml - 包 xml 实现一个简单的 XML 1.0 解析器,该解析器可识别 XML 名称空间。
errors
- errors - Package errors 实现用于处理错误的函数。
expvar
- expvar - 软件包 expvar 为公共变量(例如服务器中的作计数器)提供了一个标准化的接口。
flag
- flag - Package flag 实现命令行标志解析。
fmt
- fmt - 包 fmt 使用类似于 C 的 printf 和 scanf 的功能实现格式化的 I/O。
go
- go/ast - Package ast 声明用于表示 Go 包的语法树的类型。
- go/build - Package build 收集有关 Go 包的信息。
- go/build/constraint - Package constraint 实现对 build constraint lines 的解析和评估。
- go/constant - Package constant 实现表示无类型型 Go 常量及其相应作的 Value。
- go/doc - Package doc 从 Go AST 中提取源代码文档。
- go/doc/comment - 包注释实现了 Go 文档注释(文档注释)的解析和重新格式化,这些注释是紧接在 package、const、func、type 或 var 的顶级声明之前的注释。
- go/format - Package format 实现了 Go 源代码的标准格式。
- go/importer - Package importer 提供对导出数据导入程序的访问。
- go/parser - Package parser 实现 Go 源文件的解析器。
- go/printer - Package printer 实现 AST 节点的打印。
- go/scanner - Package scanner 实现 Go 源文本的扫描器。
- go/token - Package token 定义常量,这些常量表示 Go 编程语言的词法标记和对标记的基本作(打印、谓词)。
- go/types - Package types 声明数据类型并实现 Go 包类型检查的算法。
- go/version - 包版本提供了对 [Go 工具链名称语法] 中 [Go 版本] 的作:“go1.20”、“go1.21.0”、“go1.22rc2”和“go1.23.4-bigcorp”等字符串。
hash
- hash - Package hash 为 hash 函数提供接口。
- hash/adler32 - 包 adler32 实现了 Adler-32 校验和。
- hash/crc32 - 软件包 crc32 实现 32 位循环冗余校验 (CRC-32) 校验和。
- hash/crc64 - 软件包 crc64 实现 64 位循环冗余校验 (CRC-64) 校验和。
- hash/fnv - 包 fnv 实现 FNV-1 和 FNV-1a,这是由 Glenn Fowler、Landon Curt Noll 和 Phong Vo 创建的非加密哈希函数。
- hash/maphash - 包 maphash 提供字节序列和可比较值的哈希函数。
html
- html - 包 html 提供了用于转义和取消转义 HTML 文本的函数。
- html/template - 包模板 (html/template) 实现数据驱动的模板,用于生成安全防止代码注入的 HTML 输出。
image
- image - Package image 实现了一个基本的 2-D 图像库。
- image/color - Package color 实现基本颜色库。
- image/color/palette - Package palette 提供标准调色板。
- image/draw - Package draw 提供图像合成功能。
- image/gif - 包 gif 实现 GIF 图像解码器和编码器。
- image/jpeg - 包 jpeg 实现 JPEG 图像解码器和编码器。
- image/png - 包 png 实现 PNG 图像解码器和编码器。
index
- index/suffixarray - 包 suffixarray 使用内存中的 suffix 数组实现对数时间的子字符串搜索。
iter
- iter - Package iter 提供与序列迭代器相关的基本定义和作。
log
- log - Package log 实现一个简单的 logging 包。
- log/slog - 软件包 slog 提供结构化日志记录,其中日志记录包括消息、严重性级别和以键值对表示的各种其他属性。
- log/syslog - 软件包 syslog 为系统日志服务提供了一个简单的接口。
maps
- maps - Package maps 定义了对任何类型的 map 都有用的各种函数。
math
- math - Package math 提供基本常量和数学函数。
- math/big - Package big 实现任意精度的算术 (big numbers)。
- math/bits - Package bits 为预声明的无符号整数类型实现位计数和作函数。
- math/cmplx - 软件包 cmplx 为复数提供基本常数和数学函数。
- math/rand - 软件包 rand 实现了适用于模拟等任务的伪随机数生成器,但它不应用于安全敏感的工作。
- math/rand/v2 - 软件包 rand 实现了适用于模拟等任务的伪随机数生成器,但它不应用于安全敏感的工作。
mime
- mime - Package mime 实现了 MIME 规范的部分内容。
- mime/multipart - Package multipart 实现 RFC 2046 中定义的 MIME 多部分解析。
- mime/quotedprintable - 包 quotedprintable 实现 RFC 2045 指定的 quoted-printable 编码。
net
- net - Package net 为网络 I/O 提供了一个可移植的接口,包括 TCP/IP、UDP、域名解析和 Unix 域套接字。
- net/http - 软件包 http 提供 HTTP 客户端和服务器实现。
- net/http/cgi - 软件包 cgi 实现 RFC 3875 中指定的 CGI(通用网关接口)。
- net/http/cookiejar - 软件包 cookiejar 实现了符合 RFC 6265 的内存中 http。CookieJar 的 Cookie Jar 中。
- net/http/fcgi - 软件包 fcgi 实现 FastCGI 协议。
- net/http/httptest - 软件包 httptest 提供用于 HTTP 测试的实用程序。
- net/http/httptrace - 软件包 httptrace 提供了跟踪 HTTP 客户端请求中事件的机制。
- net/http/httputil - 软件包 httputil 提供了 HTTP 实用程序函数,补充了 net/http 软件包中更常见的函数。
- net/http/pprof - 软件包 pprof 通过其 HTTP 服务器运行时以 pprof 可视化工具所需的格式提供分析数据。
- net/mail - 打包邮件实现邮件消息的解析。
- net/netip - 软件包 netip 定义一个 IP 地址类型,该类型是一个较小的值类型。
- net/rpc - 软件包 rpc 提供对通过网络或其他 I/O 连接导出的对象方法的访问。
- net/rpc/jsonrpc - 包 jsonrpc 为 rpc 包实现了 JSON-RPC 1.0 ClientCodec 和 ServerCodec。
- net/smtp - 软件包 smtp 实现 RFC 5321 中定义的简单邮件传输协议。
- net/textproto - 软件包 textproto 以 HTTP、NNTP 和 SMTP 样式实现对基于文本的请求/响应协议的通用支持。
- net/url - Package url 解析 URL 并实现查询转义。
os
path
- path - Package path 实现用于作斜杠分隔路径的 Util 例程。
- path/filepath - Package filepath 实现实用程序例程,用于以与目标作系统定义的文件路径兼容的方式处理文件名路径。
plugin
- plugin - Package plugin 实现了 Go 插件的加载和符号解析。
reflect
- reflect - Package reflect 实现运行时反射,允许程序处理具有任意类型的对象。
regexp
- regexp - 软件包 regexp 实现正则表达式搜索。
- regexp/syntax - 包语法将正则表达式解析为解析树,并将解析树编译为程序。
runtime
- runtime - Package runtime 包含与 Go 的运行时系统交互的作,例如用于控制 goroutine 的函数。
- runtime/asan -
- runtime/cgo - 软件包 cgo 包含对 cgo 工具生成的代码的运行时支持。
- runtime/coverage - 包覆盖率包含用于在运行时从长时间运行和/或不通过 os 终止的服务器程序写入覆盖率配置文件数据的 API。退出。
- runtime/debug - Package debug 包含程序在运行时进行自身调试的工具。
- runtime/metrics - Package metrics 提供了一个稳定的接口来访问 Go 运行时导出的实现定义的 metrics。
- runtime/msan -
- runtime/pprof - 包 pprof 以 pprof 可视化工具所需的格式写入运行时分析数据。
- runtime/race - Package race 实现数据争用检测逻辑。
- runtime/trace - 包跟踪包含程序为 Go 执行跟踪器生成跟踪的工具。
slices
- slices - Package slices 定义对任何类型的切片有用的各种函数。
sort
- sort - Package sort 提供用于对切片和用户定义的集合进行排序的基元。
strconv
- strconv - 软件包 strconv 实现与基本数据类型的字符串表示形式之间的转换。
strings
- strings - 包字符串实现简单的函数来作 UTF-8 编码的字符串。
structs
- structs - Package structs 定义可用作结构字段的标记类型,以修改结构的属性。
sync
- sync - Package sync 提供基本的同步基元,例如互斥锁。
- sync/atomic - 包 atomic 提供用于实现同步算法的低级原子内存原语。
syscall
- syscall - 软件包 syscall 包含指向低级作系统原语的接口。
- syscall/js - 在使用 js/wasm 架构时,包 js 允许访问 WebAssembly 主机环境。
testing
- testing - Package testing 支持 Go 包的自动化测试。
- testing/fstest - 软件包 fstest 实现了对文件系统的测试实现和用户的支持。
- testing/iotest - iotest 包实现了 Readers 和 Writers,主要用于测试。
- testing/quick - Package Quick 实现实用程序函数以帮助进行黑盒测试。
- testing/slogtest - 软件包 slogtest 实现了对 log/slog 的测试 implementations的支持。处理器。
- testing/synctest - package synctest 提供对测试并发代码的支持。
text
- text/scanner - Package scanner 为 UTF-8 编码的文本提供 scanner 和 tokenizer。
- text/tabwriter - 软件包 tabwriter 实现写入过滤器 (tabwriter.Writer) 将输入中的选项卡式列转换为正确对齐的文本。
- text/template - 包模板实现用于生成文本输出的数据驱动模板。
- text/template/parse - 包解析构建解析 text/template 和 html/template 定义的模板的解析树。
time
- time - 打包时间 提供测量和显示时间的功能。
- time/tzdata - 软件包 tzdata 提供 timezone 数据库的嵌入式副本。
unicode
- unicode - 包 unicode 提供数据和函数来测试 Unicode 码位的某些属性。
- unicode/utf16 - utf16 包实现了 UTF-16 序列的编码和解码。
- unicode/utf8 - 软件包 utf8 实现了函数和常量以支持以 UTF-8 编码的文本。
unique
- unique - 独特的包提供了规范化(“实习”)可比较值的工具。
unsafe
- unsafe - package unsafe 包含绕过 Go 程序的类型 safety 的作。
weak
- weak - Package weak 提供了安全引用 memory 的方法,也就是说,不阻止其回收。
子仓库
- benchmarks - 衡量 Go 开发的基准。
- blog - blog.golang.org 的实现。
- build - build.golang.org 的实现。
- crypto - 其他加密包。
- debug - Go 的实验性调试器。
- image - 其他映像软件包。
- mobile - 移动平台上对 Go 的实验性支持。
- net - 其他网络包。
- perf - 用于性能测量、存储和分析的软件包和工具。
- pkgsite - pkg.go.dev 网站的主页。
- review - 用于处理 Gerrit 代码审查的工具。
- sync - 其他并发基元。
- sys - 用于进行系统调用的软件包。
- text - 用于处理文本的包。
- time - 附加时间包。
- 工具 - godoc、goimports、gorename 和其他工具。
- tour - tour.golang.org 的实现。
- exp - 实验性和已弃用的软件包(请谨慎处理;可能会更改,恕不另行通知)。