Go 语言完全指南
Go 语言完全指南
从零基础到生产级实战,系统掌握 Go 语言的完整学习路径。
📚 教程概览
本教程共 30 章,涵盖 Go 语言的方方面面:从基础语法到高级特性,从标准库到生产实战,适合有一定编程经验的开发者系统学习 Go。
📖 目录
第一部分:基础入门
| 章节 | 标题 | 核心内容 |
|---|
| 01 | 简介 | Go 语言哲学、设计目标、适用场景 |
| 02 | 环境搭建 | 安装、GOPATH、Go Modules、IDE 配置 |
| 03 | Hello World | 项目结构、go run/build/install |
| 04 | 变量与类型 | 基本类型、零值、类型推导、常量 |
| 05 | 运算符 | 算术、逻辑、位运算 |
| 06 | 控制流 | if、for、switch、select、goto、defer |
第二部分:核心特性
| 章节 | 标题 | 核心内容 |
|---|
| 07 | 函数 | 多返回值、命名返回、可变参数、闭包、init |
| 08 | 数组与切片 | 底层原理、扩容机制、copy、append |
| 09 | Map | 内部实现、并发安全、sync.Map |
| 10 | 结构体 | 字段、方法、嵌入、组合 |
| 11 | 接口 | 隐式实现、类型断言、空接口、设计模式 |
| 12 | 错误处理 | error 接口、errors 包、自定义错误、panic/recover |
| 13 | 泛型 | 类型参数、约束、泛型函数、泛型数据结构 |
第三部分:并发编程
| 章节 | 标题 | 核心内容 |
|---|
| 14 | 并发基础 | goroutine、Channel、select、sync 包 |
| 15 | 同步原语 | Mutex、RWMutex、WaitGroup、Once、Pool |
| 16 | Context | 取消传播、超时控制、值传递 |
第四部分:标准库精讲
| 章节 | 标题 | 核心内容 |
|---|
| 17 | I/O | io.Reader/Writer、bufio、文件操作 |
| 18 | 字符串 | strings 包、strconv、unicode、正则 |
| 19 | 编码 | JSON、XML、Base64、Gob、Protocol Buffers |
| 20 | HTTP | net/http 包、客户端、服务器、中间件 |
第五部分:测试与质量
| 章节 | 标题 | 核心内容 |
|---|
| 21 | 测试 | testing 包、表驱动测试、Mock、TestMain |
| 22 | 基准测试 | benchmem、pprof、trace、性能分析 |
| 23 | 日志 | log/slog、zap、zerolog、结构化日志 |
第六部分:工程实践
| 章节 | 标题 | 核心内容 |
|---|
| 24 | 数据库 | database/sql、连接池、GORM、sqlx |
| 25 | Web 框架 | Gin、Echo、Chi、路由、中间件 |
| 26 | CLI 开发 | cobra、pflag、交互式命令 |
| 27 | 容器化 | 多阶段构建、scratch 镜像、CGO 交叉编译 |
| 28 | CI/CD | GitHub Actions、goreleaser、自动发布 |
第七部分:进阶与实战
| 章节 | 标题 | 核心内容 |
|---|
| 29 | 最佳实践 | 项目布局、代码风格、性能建议、常见坑 |
| 30 | 实战项目 | REST API、CLI 工具、微服务、爬虫 |
🎯 学习路线建议
入门路径: 01 → 02 → 03 → 04 → 06 → 07 → 08 → 10 → 12
进阶路径: 05 → 09 → 11 → 13 → 14 → 15 → 16
工程路径: 17 → 19 → 20 → 21 → 24 → 25 → 27 → 28
实战路径: 29 → 30
💡 使用建议
- 每章包含完整的可运行代码示例,建议动手实践
- ⚠️ 标注的内容为常见陷阱,请特别留意
- 每章末尾的"业务场景"帮助你理解实际应用
- “扩展阅读"提供深入学习的方向