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 的应用开发中提供了强大的功能支持,是构建高效可靠应用程序的重要基础。理解这些常用包的功能和用法,可以提高编程效率和代码质量。

相关推荐
apocelipes8 小时前
从源码角度解析C++20新特性如何简化线程超时取消
c++·性能优化·golang·并发·c++20·linux编程
Rinai_R14 小时前
Go 的调度模型
开发语言·后端·golang
Tony Bai16 小时前
Goroutine “气泡”宇宙——Go 并发模型的新维度
开发语言·后端·golang
YGGP17 小时前
【Golang】LeetCode 287. 寻找重复数
开发语言·leetcode·golang
吴佳浩 Alben17 小时前
Go 1.22 通关讲解
开发语言·数据库·golang
巴塞罗那的风19 小时前
从蓝图到执行:智能体中的“战略家思维
开发语言·后端·ai·语言模型·golang
ONE_PUNCH_Ge19 小时前
Go 语言切片(Slice)
golang
喵了几个咪19 小时前
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:kratos-bootstrap 入门教程(类比 Spring Boot)
spring boot·后端·微服务·golang·bootstrap
Rinai_R21 小时前
关于 Go 的内存管理这档事
java·开发语言·golang
乐茵lin21 小时前
golang中 Context的四大用法
开发语言·后端·学习·golang·编程·大学生·context