跳到主要内容
CodeAtlas
Go

Go

12 周

云原生时代的性价比之王

适合谁:有任一语言基础、想进基础设施/高并发领域的后端

难度
共 5 个阶段 · 12 周
开始之前
至少会一门编程语言
了解基本网络概念

这条路上最常见的三个误区

  • 用写 Java 的方式写 Go —— 接口、组合与错误处理是另一套审美
  • 跳过 goroutine 与 channel —— 那 Go 就只剩「语法简单的 Python」
  • 只写业务不读标准库 —— Go 的标准库就是最好的教材,net/http 一万行读透终身受用

第一周就做这三件事

  1. 1装 Go 1.23,用 net/http 写一个不用框架的 JSON API
  2. 2写一个 goroutine + channel 的并发抓取小工具,带超时控制
  3. 3读一遍 Effective Go,把 defer / 错误包装改成惯用写法

「准备期」是拖延的另一种说法。先跑起来,再谈规划。

分阶段执行

按每周 10–12 小时估算,有基础可压缩
学习进度 0%0/5 阶段 · 约 0/12 周
  1. 1

    阶段一 · 语言速通

    建议 2 周
    阶段目标

    两周内能写生产级 Go 代码

    知识点
    语法与切片/Map结构体与方法接口(隐式实现)错误处理与 panic/recoverGo Modules
    产出项目

    命令行 HTTP 健康检查工具

    查看项目要求
    验收标准

    能写出符合 Go 风格的代码(错误处理、命名)

  2. 2

    阶段二 · 并发模型

    建议 3 周
    阶段目标

    真正理解 goroutine 而非只会 go 关键字

    知识点
    goroutine 与调度器 GMPchannel 与 selectcontext 取消与超时sync 包与原子操作并发模式(worker pool / pipeline)
    产出项目

    并发爬虫(限速 + 超时 + 优雅退出)

    查看项目要求
    验收标准

    能解释 GMP 调度;能排查 goroutine 泄漏

  3. 3

    阶段三 · Web 服务

    建议 3 周
    阶段目标

    能开发完整的后端服务

    知识点
    net/http 与 Gin/KratosgRPC + ProtobufGORM / sqlc中间件与鉴权配置与日志
    产出项目

    短链接服务(含限流、缓存、统计)

    查看项目要求
    验收标准

    接口完整;有单元测试;能压测出 QPS

  4. 4

    阶段四 · 云原生

    建议 3 周
    阶段目标

    能部署并运维自己的服务

    知识点
    Docker 多阶段构建Kubernetes 部署与探针Prometheus 指标优雅发布pprof 性能分析
    产出项目

    把短链接服务部署到 K8s 并接入监控

    查看项目要求
    验收标准

    有 Grafana 面板;能用 pprof 优化一次内存

  5. 5

    阶段五 · 源码与深度

    建议 1 周
    阶段目标

    建立技术壁垒

    知识点
    读 Gin / etcd 源码GC 与内存逃逸分布式系统论文开源贡献
    产出项目

    给 Go 开源项目提交 PR

    查看项目要求
    验收标准

    能画出所读项目的核心流程图

其他路径