写在前面
本文是 Go 学习笔记系列的第六篇,介绍 Go 标准库的常用功能,以及工程实践中需要掌握的技能:文件操作、HTTP 服务、数据库、命令行和单元测试。前置知识:并发编程(第五篇)。
一、文件操作
1.1 读取文件
|
|
1.2 写入文件
|
|
1.3 文件和目录操作
|
|
1.4 io 工具函数
|
|
二、HTTP 服务
2.1 基础 HTTP 服务
|
|
2.2 处理请求参数
|
|
2.3 发送 HTTP 请求
|
|
2.4 JSON 响应
|
|
三、数据库操作
3.1 基础连接
|
|
3.2 查询操作
|
|
3.3 增删改
|
|
3.4 事务
|
|
实际项目中推荐用 sqlx 或 GORM 等库简化数据库操作。
四、命令行参数
4.1 os.Args
|
|
4.2 flag 包
|
|
4.3 获取环境变量
|
|
五、单元测试
5.1 基本测试
Go 的测试文件以 _test.go 结尾,测试函数以 Test 开头:
|
|
运行测试:
|
|
5.2 表驱动测试(推荐)
|
|
5.3 基准测试
|
|
|
|
5.4 测试 HTTP Handler
|
|
六、日志
6.1 标准库 log
|
|
6.2 log/slog(Go 1.21+,结构化日志)
|
|
七、项目结构规范
Go 项目没有强制的目录结构,但社区有推荐的规范:
|
|
internal目录是 Go 编译器强制约束的:其他模块无法导入 internal 下的包。
八、小结
本文学习了 Go 的标准库和工程实践:
- 文件操作(os、io、bufio)
- HTTP 服务与客户端(net/http)
- 数据库操作(database/sql)
- 命令行参数与环境变量
- 单元测试(testing、表驱动测试、httptest)
- 日志(log、slog)
- 项目结构规范
下一篇将学习 Go 的进阶特性:泛型、反射、性能分析。