Skip to main content

标准库

Site

https://pkg.go.dev/std

Go 语言的标准库非常丰富,涵盖了各种常见的编程任务和功能。以下是 Go 语言标准库的一些主要包(截至 2023 年):

基础包

  • fmt:格式化 I/O(输入/输出)。
  • os:操作系统功能,如文件和环境变量。
  • log:简单的日志记录。
  • flag:命令行标志解析。
  • time:时间和日期处理。

数据结构

  • bytes:操作字节片。
  • strings:操作字符串。
  • strconv:字符串与基础数据类型的相互转换。
  • math:基本数学函数。
  • math/rand:伪随机数生成。
  • container/heap:堆(优先队列)操作。
  • container/list:双向链表。
  • container/ring:环形链表。

并发

  • sync:基本的同步原语,如互斥锁和条件变量。
  • sync/atomic:原子操作。
  • context:上下文管理,用于控制 goroutine 的生命周期。

I/O 和文件系统

  • io:基本的 I/O 原语。
  • io/ioutil:简化的 I/O 操作。
  • bufio:带缓冲的 I/O。
  • path/filepath:文件路径操作。
  • mime/multipart:用于处理 MIME 多部分消息。

网络

  • net:基本的网络操作(TCP、UDP、IP)。
  • net/http:HTTP 客户端和服务器。
  • net/rpc:RPC(远程过程调用)。
  • net/smtp:SMTP 客户端。
  • net/url:URL 解析和构建。
  • net/mail:邮件消息解析。

编码和解码

  • encoding/json:JSON 编码和解码。
  • encoding/xml:XML 编码和解码。
  • encoding/base64:Base64 编码和解码。
  • encoding/csv:CSV 读取和写入。

安全和加密

  • crypto:通用的加密接口。
  • crypto/aes:AES 加密。
  • crypto/sha256:SHA-256 哈希函数。
  • crypto/rand:加密安全的随机数生成。
  • crypto/tls:TLS 协议。

反射和类型信息

  • reflect:反射操作。
  • unsafe:不安全的操作(如指针算术)。

调试和测试

  • testing:单元测试框架。
  • testing/quick:快速属性测试。
  • testing/iotest:I/O 测试辅助工具。
  • runtime:Go 运行时系统的交互。
  • runtime/debug:调试信息。

文本处理

  • regexp:正则表达式。
  • text/template:文本模板。
  • html/template:HTML 模板。

压缩和存档

  • archive/zip:ZIP 文件读写。
  • archive/tar:TAR 文件读写。
  • compress/gzip:GZIP 压缩。
  • compress/zlib:ZLIB 压缩。

图形和图像

  • image:基本的图像接口。
  • image/color:颜色表示。
  • image/png:PNG 图像格式。
  • image/jpeg:JPEG 图像格式。
  • image/gif:GIF 图像格式。

其他

  • sort:排序函数。
  • html:HTML 转义。
  • unicode:Unicode 字符分类。
  • unicode/utf8:UTF-8 编码处理。

这些包只是 Go 标准库的一部分,完整的标准库列表可以在 Go 官方文档 上找到。标准库的设计目标是提供高效、可靠和易用的功能,覆盖大多数常见的编程需求。