SECTION §02 · ENGAGE

Discussion

留言区 · GitHub-powered comments via Giscus

小书 · BOOK

Go 后端编程小书(上)

一本写给会一点编程的新后端开发者的 Go 教程小书:从运行第一个程序开始,走过类型、结构体、接口、错误处理、包组织、配置、HTTP 服务、测试、并发和部署前准备。

本书由 mcell 与大语言模型(AI)协作撰写。内容经过人工审校与编辑,但不保证完全准确。阅读时请保持独立思考。

核心承诺:不把 Go 写成语法手册,而是带你用 Go 建立后端开发的基本工作方式。


关于本书

这本小书写给已经会一点编程、正在进入后端开发的人。

你可能写过一些 JavaScript、Python、Java 或 PHP,知道变量、函数、条件判断和循环是什么,也知道后端程序大概会处理 HTTP 请求、读写 JSON、连接数据库、调用外部接口。但当你打开一个 Go 项目时,可能会被几个地方卡住:

  • 为什么 Go 总是显式写 if err != nil
  • struct、method 和 interface 之间到底是什么关系?
  • 一个小项目应该怎么放包?
  • 标准库能不能直接写 HTTP 服务?
  • goroutine 和 channel 是不是一学 Go 就必须用?
  • 测试、构建、配置这些工程习惯要从哪里开始?

这本书不试图覆盖 Go 的所有细节。它的目标更窄:让你能读懂一个普通 Go 后端项目,并能自己写出一个小而清楚的服务。


上册讲什么

上册覆盖 Go 后端入门所需要的完整闭环:

  1. 安装 Go,跑通 go rungo testgo build
  2. 用类型、函数、控制流表达后端数据处理
  3. struct、method 和 interface 组织代码
  4. 理解 Go 的错误处理,而不是只觉得它啰嗦
  5. 用包和模块组织一个小项目
  6. 读取文件、JSON 和环境配置
  7. 用标准库写 HTTP 服务
  8. 为函数和 handler 写测试
  9. 理解 goroutine、channel 和 context
  10. 把程序构建成可以运行的服务

中册或下册会继续进入更高级的主题:数据库、缓存、消息队列、认证授权、工程分层、性能分析、可观测性、部署架构,以及更复杂的并发模式。


怎么读

如果你刚接触 Go,建议按顺序读。每一章都尽量从一个后端场景进入,而不是从抽象概念进入。

如果你已经写过一点 Go,可以直接跳到你卡住的章节:错误处理、包组织、HTTP、测试和 context 通常是后端新人最容易反复碰到的地方。

读这本书时,最好打开终端,把代码敲一遍。Go 的很多设计不是靠背概念理解的,而是在你反复运行、改错、测试、构建的过程中慢慢变清楚。