第 1 部分起步fmt.Println、变量和零值、if、for、函数。5 课 · 约 1.5 小时
第 2 部分数据数组和切片、切片怎么长大、map、字符串和 rune。4 课 · 约 1 小时
第 3 部分类型结构体、指针、方法、接口。4 课 · 约 1 小时
第 4 部分出错和函数error、defer / panic / recover、闭包、泛型。4 课 · 约 1 小时
第 5 部分并发goroutine、channel、select、WaitGroup 和 Mutex,还有死锁。6 课 · 约 1.5 小时
第 6 部分小项目用 goroutine 和 channel 搭一条流水线。1 课 · 约 0.5 小时
常见问题
真的免费吗?
是的。每一课、每段代码、每道练习都免费,也不用注册。
要先安装 Go 吗?
不用。代码在你的浏览器里运行,结果和 Go 1.24 一样,还能一步一步地看变量和每个 goroutine。
这是真的 Go 吗?
是 Go 1.24 的写法。课里每段代码都和真的 Go 对过,输出和报错都一样。读写文件、网络、真实时间这些在浏览器里用不了,课里也不用。
goroutine 每次跑的顺序一样吗?
在这里一样:我们的调度每次都按同一个顺序,所以练习能自动判对。真的 Go 每次可能不一样,课里会说清楚哪些顺序靠得住、哪些靠不住。
没学过编程能学 Go 吗?
能,第 1 课从 fmt.Println 开始,每一课只用前面学过的东西。完全没学过的话,先学 Python 会轻松一点。
学 Go 要多久?
一课 15 到 20 分钟。一天一两课,三四周能学完。并发那一部分慢一点,多点几次「单步」。
手机上能学吗?
能。讲解、运行、单步和练习在手机上都能用;长一点的练习用键盘会更顺手。
进度存在哪里?
存在这个浏览器里,不用账号。换了设备或者清了浏览器数据,进度就不在了。