Golang学习笔记: 常用标准库

在 Go 语言中,有很多内置的标准库包提供了各种功能,以下是一些常用的 Go 标准库包及其简要说明:

1. fmt

  • 功能:格式化输入输出。
  • 常用函数 :
    • fmt.Println(): 打印并自动换行。
    • fmt.Printf(): 格式化输出。
    • fmt.Scan(): 从标准输入读取数据。
    • fmt.Sprintf(): 格式化字符串并返回结果。

2. os

  • 功能:与操作系统进行交互,如文件操作、环境变量、进程控制等。
  • 常用函数 :
    • os.Open(): 打开文件。
    • os.Create(): 创建文件。
    • os.Remove(): 删除文件。
    • os.Getenv(): 获取环境变量。

3. io

  • 功能:提供基本的 I/O 操作接口和实用函数。
  • 常用接口/函数 :
    • io.Reader/io.Writer: 定义了读写接口。
    • io.Copy(): 从源 Reader 复制到目标 Writer。
    • io/ioutil.ReadFile(): 读取文件内容为字节切片。

4. encoding/json

  • 功能:处理 JSON 编码和解码。
  • 常用函数 :
    • json.Marshal(): 将数据编码为 JSON 格式。
    • json.Unmarshal(): 将 JSON 格式数据解码为 Go 数据结构。

5. encoding/xml

  • 功能:处理 XML 编码和解码。
  • 常用函数 :
    • xml.Marshal(): 将数据编码为 XML 格式。
    • xml.Unmarshal(): 将 XML 格式数据解码为 Go 数据结构。

6. net/http

  • 功能:实现 HTTP 客户端和服务器功能。
  • 常用函数/类型 :
    • http.Get(): 发起 GET 请求。
    • http.Post(): 发起 POST 请求。
    • http.HandleFunc(): 注册 HTTP 处理函数。
    • http.ListenAndServe(): 启动 HTTP 服务器。

7. context

  • 功能:管理上下文和超时、取消信号。
  • 常用函数 :
    • context.Background(): 返回一个背景上下文,通常用作根上下文。
    • context.WithCancel(): 返回一个子上下文和取消函数。
    • context.WithTimeout(): 返回一个具有超时功能的上下文。

8. sync

  • 功能:提供同步原语,如互斥锁、读写锁等。
  • 常用类型/函数 :
    • sync.Mutex: 提供互斥锁。
    • sync.RWMutex: 提供读写锁。
    • sync.WaitGroup: 用于等待一组 Goroutine 完成。
    • sync.Once: 创建单例对象。
    • sync.Pool: 对象池。
    • sync.Map: 并发安全操作map。

9. time

  • 功能:处理时间和日期。
  • 常用函数/类型 :
    • time.Now(): 获取当前时间。
    • time.Sleep(): 暂停执行指定时间。
    • time.Parse(): 解析时间字符串。
    • time.Format(): 格式化时间为字符串。

10. math

  • 功能:提供数学常量和函数。
  • 常用函数 :
    • math.Sqrt(): 计算平方根。
    • math.Pow(): 计算幂。
    • math.Sin(): 计算正弦值。
    • math.Cos(): 计算余弦值。

11. strconv

  • 功能:字符串与基本数据类型之间的转换。
  • 常用函数 :
    • strconv.Itoa(): 整数转字符串。
    • strconv.Atoi(): 字符串转整数。
    • strconv.FormatFloat(): 格式化浮点数为字符串。

12. log

  • 功能:提供日志记录功能。
  • 常用函数 :
    • log.Println(): 记录日志并自动换行。
    • log.Printf(): 格式化日志记录。
    • log.Fatal(): 记录日志并调用 os.Exit() 退出程序。

13. flag

  • 功能:解析命令行标志。
  • 常用函数 :
    • flag.String(): 定义字符串标志。
    • flag.Int(): 定义整型标志。
    • flag.Parse(): 解析命令行标志。

14. regexp

  • 功能:支持正则表达式的匹配和操作。
  • 常用函数 :
    • regexp.MatchString(): 匹配字符串是否符合正则表达式。
    • regexp.FindAllString(): 找到所有符合正则表达式的字符串。

15. crypto

  • 功能:提供加密算法和功能。
  • 常用包 :
    • crypto/aes: 提供 AES 加密算法。
    • crypto/rsa: 提供 RSA 加密算法。
    • crypto/md5: 提供 MD5 哈希算法。
    • crypto/sha256: 提供 SHA-256 哈希算法。

总结

Go 的标准库包覆盖了从 I/O 操作、网络编程、数据编解码到同步和加密等多种常见需求。这些包在 Go 的应用开发中提供了强大的功能支持,是构建高效可靠应用程序的重要基础。理解这些常用包的功能和用法,可以提高编程效率和代码质量。

相关推荐
利威尔xu2 天前
Go map 底层崩溃:3 个 goroutine 并发写同一张 map,fatal error 崩掉整个服务
golang·源码·map·并发·后端开发
利威尔xu3 天前
2026-11-08-Go-defer-panic-recover面试
面试·golang
JWASX4 天前
【Go】map 源码解析 - group
后端·golang·map·源码分析
联犀4 天前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
FungLeo5 天前
成为全栈·Go 后端篇·三轮代码审阅之后:把可读性和证据做成工程规则
golang·go·ast·静态检查·成为全栈·代码审阅
联犀5 天前
联犀 Go SIMD 实战:视频转码从 16.5ms 到 5.46ms
开发语言·golang·音视频
紧跟先前的步伐6 天前
Go AI Agent 实战 28|Agent 的预算、超时与停止条件
开发语言·人工智能·后端·ai·golang
利威尔xu6 天前
2026-11-05-Go内存管理面试
面试·golang
Zenova EdgeOS7 天前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
JavaPub-rodert7 天前
从零搭建通用管理后台:ShiyuAdmin 的 Go、React 与 RBAC 实践
开发语言·react.js·golang