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
💡 使用建议
- 每章包含完整的可运行代码示例,建议动手实践
- ⚠️ 标注的内容为常见陷阱,请特别留意
- 每章末尾的"业务场景"帮助你理解实际应用
- “扩展阅读"提供深入学习的方向