这到底是一门解决什么问题的课
市面上讲 Go 语言的课,绝大多数都停留在“怎么用标准库写业务代码”的层面。这门资料不走这条路,它解决的是更底层也更小众的问题:怎么把 Go 语言本身的源码拉下来,改掉它的词法分析器,加入你自己发明的语法关键字,最后重新编译出一个属于你自己的 Go 版本。资料包里的线索写得很直白,这是一个“体验玩耍课”,没有按部就班的大纲,而是通过硬改源码来理解编译器是怎么跑的。如果你在工作中遇到过需要深度定制 Go 工具链的场景,或者单纯想搞懂一门语言从代码文本变成可执行程序的底层机制,这种直接上手改源码的方式比看枯燥的理论书管用得多。
适合什么基础,以及资料该怎么配合练习
先说清楚,这套资料不适合完全没写过 Go 的新手。它默认你已经能熟练写正常的业务代码,知道怎么配置环境变量和交叉编译,现在想往底层走。对于这类读者,建议先看“源码编译和修改”以及“在 Windows 上编译和设置代码提示”这两块。前者带你跑通从拉取源码到本地编译出可执行文件的完整闭环,这是后续所有修改的地基;后者解决一个很现实的痛点:改了编译器源码后,你的编辑器会满屏报错,必须学会怎么让代码提示工具重新识别你魔改后的版本。练习时不要光看视频,一定要自己把源码拉下来跟着编译,遇到环境报错自己查文档解决,这才是把源码吃透的唯一途径。
学完能独立做什么
跟练完这套资料,你能独立完成对 Go 编译器前端的定制改造。具体来说,你会明白词法分析是怎么把代码拆成 token 的,知道 parser 解析器的工作机制,并且能动手往语言里加一个自定义的关键字或内置函数,比如像资料里演示的那样加一个 echo。虽然这不足以让你重写一个工业级编译器,但足以让你在面对一些需要魔改开源工具链的极端工作场景时不发怵。更重要的是,这种从源头改起的学习方式,能帮你建立起对语言底层的直觉,以后再遇到 Go 语言层面的疑难杂症,你能知道去源码的哪一层找答案。
本课程是一个体验玩耍课。目前暂无系统规划,我们通过源码修改,加入一些自己的功能、语法关键字,或把k8s的一些功能变成标准库集成。同时通过这些操作也学习一下源码。
课程目录
* 第1讲:源码编译和修改、 增加echo函数
* 第2讲:在windows上编译和设置代码提示
* 第3讲:简述golang词法分析、token概念
* 第4讲:parser解析器使用、初步加入自定义关键字






