PRJ-06 ACTIVE
GoCampus Go 学习体系
a structured go learning campus with tested exercises
三阶段、带测试的 Go 学习与实战手册
- Go
- 云原生
- AI Agent
3 阶段
Go 语言深入 → 计基强化 → AI 应用开发基础
18 个
带测试 + 参考答案的练习专题(phase1 ×10 / phase2 ×8)
// 01
问题背景
碎片化的「看博客学 Go」效率低且不成体系——知识点之间缺少路径,学完没有检验手段,看答案时觉得熟悉,独立写一遍才发现写不出来。
GoCampus 把学习本身工程化:目标岗位倒推大纲,三阶段递进,每个知识点配带测试的练习,做完 go test 见分晓。文档站同时沉淀深入原理的长文(Slice / Map 内存布局、Interface 底层、String 与字节切片等),并扩展出 k8s 源码教程、主流 Agent 拆解、后端技术栈强化等专题。
// 02
系统架构
内容层
VitePress 文档站承载全部知识
练习层
可执行、可检验的代码题库
工具层
文档与代码的同步管线
// 03
关键技术决策
每一条都包含「为什么这样选」与「代价是什么」——这是我理解这个项目的方式。
习题文档自动生成,而非手工维护
代码练习和文档两份手写必然漂移。用 scripts/generate-exercise-docs.mjs 从 code/ 目录派生习题文档,挂在 docs:dev / docs:build 的 pre 钩子里,构建时永远是最新的。代价是脚本要约束练习目录的组织约定,但一次性约定换来永久一致。
以测试作为学习闭环的验收标准
「看懂了」和「写对了」是两回事,文档读起来永远顺畅,因为它已经把思路整理好了——而那正是需要自己完成的部分。每个练习专题都配 go test 测试与参考答案,「会不会」变成二元事实:跑不过就是不会。这也是给 AI 协作预留的接口:让 Agent 改代码、跑测试、看红绿。
VitePress 静态站而非重型知识库系统
Docusaurus / 语雀类平台都考虑过。选 VitePress 是因为内容即仓库里的 Markdown,git 即版本史,构建即静态产物,零运维;Mermaid 插件覆盖架构图需求。代价是检索与互动能力弱,用 Artalk 评论部分补齐。
// 04
我的职责与产出
RESPONSIBILITIES
- 设计三阶段学习大纲与专题划分
- 编写 Go 原理详解系列长文(内存布局 / Interface / String 等)
- 编写 18 个练习专题的测试与参考答案
- 实现习题文档自动生成脚本与 VitePress 站点配置
- 整理 k8s 源码教程与主流 Agent 拆解专题
OUTCOMES
- 形成「计划 → 详解 → 练习 → 验收」的完整学习闭环
- 习题文档与代码通过脚本保持自动同步,零手工维护
- 站点内容持续扩展至云原生与 AI Agent 专题
// 05
踩坑与复盘
学习项目最大的敌人是三分钟热度,把体系工程化(测试验收 + 自动生成)本质上是给自己制造「不得不推进」的结构。不足是练习难度梯度还不够平滑,难题清单(如阻塞 Map)仍开着;后续考虑把错题与复盘也纳入站点。
// 06
技术栈
- Go
- VitePress
- Markdown
- Mermaid