主题
Go 语言从0到1学习笔记
一份面向完全零基础的 Go 语言学习手册:用生活中的例子讲清楚晦涩的概念,配套实战代码、可视化 HTML 演示、SVG 图解、以及真实面试题。
🎯 适合谁读
- 完全没碰过 Go,想系统入门的同学
- 学过其他语言(Java/Python/JS)想快速迁移到 Go 的开发者
- 准备 Go 后端面试的求职者
- 想用一份资料把 Go 从语法到并发再到工程实战串通的工程师
📚 章节地图
| 章节 | 主题 | 学完能干啥 |
|---|---|---|
| 第01章 入门篇 | Go 是什么、安装、第一个程序 | 跑通 Hello World,理解 Go 工程结构 |
| 第02章 变量与类型 | 变量、常量、基本数据类型 | 写出第一个有意义的小程序 |
| 第03章 流程控制 | if、for、switch | 实现各种判断与循环逻辑 |
| 第04章 函数 | 多返回值、闭包、defer | 写出可复用的代码模块 |
| 第05章 集合类型 | 数组、切片、map、字符串 | 处理批量数据、字典查询 |
| 第06章 结构体与方法 | struct、method、嵌入 | 用面向对象思维建模业务 |
| 第07章 接口与多态 | interface、duck typing | 写出灵活可扩展的代码 |
| 第08章 错误处理 | error、panic、recover | 写出健壮的、不会崩溃的程序 |
| 第09章 并发编程 | goroutine、channel、select | 用极小代价写出高并发程序 |
| 第10章 包管理 | package、go module、依赖 | 把代码组织成正式工程 |
| 第11章 标准库 | fmt、io、json、net/http | 直接用标准库做事,少装包 |
| 第12章 实战项目 | 迷你 Web 服务 | 做出一个能跑的真实项目 |
🧭 每个章节的固定结构
xx-章节名/
├── README.md # 学习文档(带生活化比喻 + 代码讲解)
├── examples/ # 实战 .go 代码(可直接 go run)
├── demo.html # 浏览器演示页(交互式可视化讲解)
├── interview.md # 面试题与详细解答
└── diagrams/ # 配套 SVG 图表🚀 推荐学习路径
- 先读 README.md:理解概念,配合
diagrams/看图 - 再开 demo.html:在浏览器里直观看到运行效果
- 跑 examples/:
go run examples/xxx.go,亲手改一改 - 看 interview.md:用面试题反向检验自己懂不懂
🛠 环境要求
- Go 1.21+(推荐 1.22 或 1.23)
- 任意支持 UTF-8 的编辑器(VSCode + Go 插件最佳)
- 现代浏览器(用于打开 demo.html)
📖 全局导航
打开根目录的 index.html,可以在浏览器里浏览全部章节目录。
💡 学习建议:Go 的设计哲学是**"少即是多"**。不要急着背语法,多写、多看官方源码、多用官方工具,三周即可达到生产可用水平。
✅ 完成度统计
- 12 个章节 全部交付(README + examples + demo.html + interview.md + diagrams)
- 60+ 个实战代码示例(每个均可
go run直接运行) - 100+ 道面试题(含详细解答与代码)
- 40+ 张 SVG 图解(视觉化关键概念)
- 第12章 是一个完整可运行的 Mini Todo Web 服务,已通过
go test
🎓 通关后建议
读完本笔记,你已经具备完整的 Go 基础与工程能力。下一步:
- 深入并发:阅读
runtime源码、研究 GMP 调度 - 拥抱开源:读
gin、grpc-go、kubernetes、prometheus源码 - 微服务实战:用 gRPC + Consul + Jaeger 搭一套微服务体系
- 性能优化:学习 pprof、trace、benchmark,写出极致性能的代码
- 深耕领域:云原生、区块链、分布式系统都是 Go 的主战场
🚀 Happy hacking with Go!