第 3 步 · 后端 API · 10-14 天
Go 快速使用与实战
用 Go 连接 MySQL,实现网站需要的 REST API、参数校验、错误处理、测试和可执行服务。
A Tour of GoGo 官方交互式教程。访问官方资料 ↗本阶段思路
学到刚好能推动网站进入下一步
先知道它位于哪里
明确当前技术在网站中的职责,以及它与上一步、下一步怎样连接。
所有练习进入同一项目
不做无关的小例子,直接完善正在搭建的网站。
达到交付标准再继续
以可运行、可检查的结果判断是否完成,而不是以看完多少教程判断。
详细学习思路
Go 的 3 个实战阶段
先完成常用操作,再连接真实网站,最后按检查清单交付本阶段成果。
01快速入门 · 3-4 天Go 语法与第一个 HTTP 服务能用标准库启动 API 并返回 JSON。
需要学习
- go mod、package、struct、slice 和 map
- 函数、方法、接口与显式 error
- net/http、路由、JSON 编解码
动手练习
- 创建 webapp-api 模块
- 实现 GET /health
- 实现内存版文章列表 API
进入下一步前
- 代码通过 gofmt 和 go test
- 错误都被明确处理
- API 使用正确状态码
官方资料与延伸阅读
Go Tour优先完成基础语法章节。打开 ↗Web Service 教程理解 REST API 的基本结构。打开 ↗02核心实现 · 4-6 天连接 MySQL 与完成 CRUD让 API 真正读写上一阶段设计的数据库。
需要学习
- database/sql、连接池和 context 超时
- 分层组织 handler、service、repository
- 输入校验、统一错误和 CORS
动手练习
- 实现文章 CRUD
- 实现分页与按作者查询
- 添加登录密码哈希或基础认证
进入下一步前
- SQL 使用参数而非字符串拼接
- 请求超时能取消查询
- 错误响应格式保持一致
官方资料与延伸阅读
database/sql官方数据库访问教程。打开 ↗03阶段交付 · 3-4 天测试、配置与 Linux 运行生成可部署文件,让 API 在 Linux 上长期稳定运行。
需要学习
- 环境变量、日志和健康检查
- httptest、集成测试与优雅关闭
- 交叉编译、systemd 和本机端口
动手练习
- 为关键 API 补测试
- 编译 Linux 可执行文件
- 配置 systemd 并限制只监听本机
进入下一步前
- 重启服务器后 API 自动启动
- 数据库密码不在代码中
- 日志可以定位请求错误