Go 语言学习导航
一套从零开始的 Go 语言系统教程,涵盖基础语法、复合类型、面向对象、泛型、并发编程到工程实践,共 6 个阶段 27 篇。每篇配有可运行的代码示例与配图说明。
阶段一:Go 语言基础
| # |
篇目 |
核心内容 |
| 01 |
语言简介与环境搭建 |
Go 诞生背景、设计哲学、安装配置、Hello World、Go Modules |
| 02 |
程序结构 |
包声明、导入、导出规则、变量作用域、代码组织 |
| 03 |
变量与常量 |
var/const、短变量、iota 枚举、零值、命名规范 |
| 04 |
基本数据类型 |
整型、浮点、布尔、字符串、byte/rune、类型转换 |
| 05 |
运算符 |
算术、关系、逻辑、位运算、赋值运算符 |
| 06 |
控制流 |
if/else、for/range、switch、break/continue |
| 07 |
函数 |
多返回值、可变参数、defer、匿名函数、闭包 |
| 08 |
指针 |
内存地址、&和*、值传递vs引用传递、new |
阶段二:复合类型与数据结构
| # |
篇目 |
核心内容 |
| 09 |
数组 |
定义初始化、遍历、多维数组、值类型特性 |
| 10 |
切片 |
创建、append、len/cap、底层结构、copy、共享陷阱 |
| 11 |
字符串 |
不可变本质、rune、strings 包、拼接性能对比 |
| 12 |
Map |
增删改查、并发安全、sync.Map、哈希结构 |
| 13 |
结构体 |
定义初始化、字段标签、嵌入、JSON 序列化 |
阶段三:面向对象编程
| # |
篇目 |
核心内容 |
| 14 |
方法 |
值接收者vs指针接收者、方法集、自定义类型方法 |
| 15 |
接口 |
隐式实现、空接口、类型断言、type switch、接口组合 |
| 16 |
错误处理 |
error 接口、errors.Is/As、%w 包装、panic/recover |
阶段四:泛型与高级特性
| # |
篇目 |
核心内容 |
| 17 |
泛型 |
类型参数、约束、comparable、泛型函数与结构体 |
| 18 |
反射 |
reflect.Type/Value、反射调用方法、性能开销 |
| 19 |
文件操作 |
os 文件读写、io.Reader/Writer、bufio、目录操作 |
| 20 |
JSON 与编码 |
JSON 编解码、struct tag、自定义序列化、XML/CSV |
阶段五:并发编程
| # |
篇目 |
核心内容 |
| 21 |
Goroutine |
goroutine、GMP 调度模型、GOMAXPROCS、泄漏问题 |
| 22 |
Channel |
有缓冲/无缓冲、方向、close、range 遍历 |
| 23 |
Select 与并发模式 |
select 多路复用、超时控制、扇出扇入、管道模式 |
| 24 |
Sync 包 |
WaitGroup、Mutex、RWMutex、Once、Map、原子操作 |
阶段六:工程实践与标准库
| # |
篇目 |
核心内容 |
| 25 |
测试 |
单元测试、基准测试、表驱动测试、testify、mock |
| 26 |
标准库 |
net/http、context、time、log、fmt 常用包精讲 |
| 27 |
项目结构与工具链 |
目录布局、Makefile、Go Modules、交叉编译、工具链 |