demoapp:统一示例项目
内容摘要
demoapp 是本知识库贯穿基础章节的统一示例:一个内存待办任务(Task)管理程序。它演示值语义、错误分类、并发安全(sync.RWMutex)、表驱动测试与 -race 验证,全部只依赖标准库。
项目结构
text
examples/demoapp/
├── go.mod # module demoapp, go 1.24
├── main.go # CLI 入口:add / list / done 子命令
└── task/
├── task.go # 业务包:Task 模型 + 并发安全的内存 Store
└── task_test.go # 表驱动单元测试 + 并发(-race)测试领域模型
运行
bash
cd examples/demoapp
go run . list # 列出预置任务
go run . add "写文档" # 新增任务
go run . done 1 # 标记完成预期输出(go run . list):
text
#1 [todo] 阅读 Go 知识库
#2 [todo] 完成表驱动测试验证
bash
gofmt -l . # 无输出
go vet ./... # 通过
go test ./... # ok demoapp/task
go test -race ./... # ok(无数据竞争)已在 Go 1.24.7 / macOS arm64 全部实测通过(核验于 2026-09-07)。退出码按错误类别区分:输入错误返回 2,运行错误返回 1。
