这个项目是为有 Java 开发经验的工程师准备的 Go 入门脚手架。
目标是让你通过一个可运行、可测试、可扩展的最小企业应用,掌握 Go 项目结构与开发流程。
.
├── cmd/
│ └── api/ # 应用入口(main)
├── internal/
│ ├── app/ # 依赖装配
│ ├── config/ # 配置加载(环境变量)
│ ├── httpserver/ # HTTP 服务与优雅停机
│ ├── response/ # 统一 JSON 响应
│ └── user/ # 示例业务模块(handler/service/repository)
├── docs/
│ └── learning-path.md # 逐步学习路线(含 Java vs Go 对比)
├── Makefile
└── go.mod
- 运行测试
make test- 启动服务
make run- 验证接口
curl http://localhost:8080/health
curl -X POST http://localhost:8080/v1/users \
-H 'Content-Type: application/json' \
-d '{"name":"Alice","email":"alice@example.com"}'
curl http://localhost:8080/v1/usersAPP_HTTP_HOST默认0.0.0.0APP_HTTP_PORT默认8080APP_HTTP_READ_TIMEOUT默认5sAPP_HTTP_WRITE_TIMEOUT默认10sAPP_HTTP_SHUTDOWN_TIMEOUT默认10s
从 docs/learning-path.md 开始,按阶段逐步实践。
每完成一个阶段后,在当前代码基础上进行一次小迭代(加接口、加测试、加中间件、接数据库)。