← 返回网站实战路线

第 3 步 · 后端 API · 10-14 天

Go 快速使用与实战

用 Go 连接 MySQL,实现网站需要的 REST API、参数校验、错误处理、测试和可执行服务。

3 个阶段本阶段产出:可管理用户和内容、能够被 Vue 3 调用的后端 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 自动启动
  • 数据库密码不在代码中
  • 日志可以定位请求错误

官方资料与延伸阅读

Go 测试为业务逻辑和 HTTP 接口补测试。打开 ↗