练习:用 Go 的「测试驱动开发」练基础语法
go基础 › 练习 01 · TDD 基础闯关 (第 1 章)
每学一个语法点,先写一个失败的测试,再让代码把它跑绿。

项目目标
用 table-driven tests(表驱动测试)练 Go 的基础:整数、字符串、切片、map,全部测试先行。
要做的功能
核心功能(必做)
- 先写测试、再写实现,覆盖整数运算、字符串、切片、map 的基本操作。
- 用表驱动测试一次覆盖多个用例。
- 实现一个整数计算器包(加减乘除),测试先行。
- 用 go test 跑通,并查看测试覆盖率。
- 实现斐波那契、阶乘等函数,并测试边界(0、负数)。
进阶功能(选做)
- 用 benchmark 对比两种实现的性能
- 用 error 与自定义错误类型
- 用泛型写通用的 Min/Max
会练到的知识点
- go test 与表驱动测试
- 切片与 map
- 函数与方法
- 错误处理 error
- 包与模块
验收标准
- go test 全部通过
- 覆盖率能看到提升
- 边界用例有断言
难度与工期
难度:★★☆ · 建议工期:3–5 天 · 适合:刚装好 Go、想系统练语法
参考实现(GitHub)
先自己动手实现,卡住了再对照参考;也可以只看它的目录结构,别直接照抄。
quii/learn-go-with-tests —— 以测试驱动讲 Go 的经典教程,边写测试边学语法。
加分项
- 给每个练习写文档注释
- 把包拆成多个文件
- 写一个 Makefile 统一跑测试
建议做法:先把「核心功能」列成本地待办,每完成一项就跑一次;做完再回头看参考实现,对比自己的设计差在哪。
⚠️ 版权声明
本文为免费文章,欢迎转载。转载请注明出处:一木科技(https://www.pingquan.vip/2026/10/14/practice-go-tdd/),并保留原文链接。
还没有评论,来说两句?