Files
cs-note/hzh/GolangStar/Index.md
T

10 KiB
Raw Blame History

tags, create time
tags create time
go
golang
learning-path
2026-06-07 14:30

🧭 Go 语言进阶之路 - 知识库索引

概述

本索引整理自「Go 语言进阶之路」学习路线,覆盖 8 大知识板块,从入门到源码阅读、面试准备一站式闭环。请严格按以下顺序阅读,每完成一个板块再进入下一个。

[!tip] 阅读策略

  • 语言基础 → 并发编程:先掌握语法,再深入并发(Goroutine/Channel/Sync)
  • 语言基础 → 语言原理:基础篇讲"怎么用",原理篇讲"为什么",配对阅读效果最佳
  • 框架实战 可独立进行,但建议有基础篇铺垫后再上手
  • 面试题库 作为复习检验工具,建议在对应原理篇完成后刷一遍
graph LR
    root["Go语言进阶之路"] --> p1["Go语言前景"]
    root --> p2["环境准备"]
    root --> p3["语言基础"]
    root --> p4["并发编程"]
    root --> p5["框架实战"]
    root --> p6["语言原理"]
    root --> p7["测试篇"]
    root --> p8["面试题库"]

一、Go 语言前景 📗

了解 Go 的价值定位与发展趋势,回答「为什么学 Go」。

# 专题 文件 说明
1 应用场景分析 hzh/GolangStar/Go语言前景/Go语言前景 Cloud Native、微服务、CLI 工具等核心场景
2 为什么选择 Go (同上) 简洁语法、原生并发、高性能编译
3 发展趋势 (同上) Go 1.2x+ 演进方向与社区生态

二、环境准备 📘

搭建开发环境与编写规范,为高效编码打基础。

# 专题 文件 说明
1 Go 环境搭建 hzh/GolangStar/Go环境搭建/Go环境搭建 goenv/gosup 安装、GOPROXY 配置
2 Go 编码规范 hzh/GolangStar/Go编码规范/Go编码规范 golint/golangci-lint、格式化约定

三、语言基础 📙

Go 语法体系,从变量类型到控制流,再到函数式编程范式。

入门

# 专题 文件 说明
1 语言代码结构 hzh/GolangStar/Go语言基础/Go语言代码结构 package/import/main 三件套
2 命名规范 hzh/GolangStar/Go语言基础/Go语言命名规范 unexported、驼峰、缩写规则
3 变量 hzh/GolangStar/Go语言基础/Go语言变量 var/短声明/零值/盲点
4 常量 hzh/GolangStar/Go语言基础/Go语言常量 const/iota/类型常量
5 运算符 hzh/GolangStar/Go语言基础/Go语言运算符 算术/比较/逻辑位运算/优先级

复合类型

# 专题 文件 说明
6 结构体 hzh/GolangStar/Go语言基础/Go语言结构体 struct 定义、嵌入、组合
7 数组与切片 hzh/GolangStar/Go语言基础/Go语言数组与切片 array vs slice、append/拷贝陷阱
8 Map hzh/GolangStar/Go语言基础/Go语言Map 创建/增删改查/遍历顺序随机性

控制流

# 专题 文件 说明
9 条件语句 hzh/GolangStar/Go语言基础/Go语言条件句 if/switch/select(初识)
10 循环 hzh/GolangStar/Go语言基础/Go语言循环 for 是唯一循环关键字

高级特性

# 专题 文件 说明
11 指针 hzh/GolangStar/Go语言基础/Go语言指针 &*/new/make 的区别
12 函数 hzh/GolangStar/Go语言基础/Go语言函数 多返回值/命名返回/变参/闭包
13 方法 hzh/GolangStar/Go语言基础/Go语言方法 receiver 值接收者 vs 指针接收者
14 接口 hzh/GolangStar/Go语言基础/Go语言接口 隐式实现、空接口、类型断言
15 Error hzh/GolangStar/Go语言基础/Go语言error error 接口、errors.New、fmt.Errorf(%w)
16 Defer hzh/GolangStar/Go语言基础/Go语言defer LIFO 执行顺序、延迟计算
17 异常捕获 hzh/GolangStar/Go语言基础/Go语言异常捕获 panic/recover 机制
18 依赖管理 hzh/GolangStar/Go语言基础/Go语言依赖管理 go.mod/go.sum/mod tidy

四、并发编程 📕

Go 的核心竞争力 —— 从 Goroutine 到完整并发模式设计。

# 专题 文件 说明
1 并发概述 hzh/GolangStar/Go语言进阶/并发概述 共享内存并发理念、CSP 模型
2 Goroutine hzh/GolangStar/Go语言进阶/Goroutine 轻量级线程、调度基础
3 Channel hzh/GolangStar/Go语言进阶/Channel 有界/无界、单向、关闭语义
4 Sync 同步原语 hzh/GolangStar/Go语言进阶/Sync Mutex/RWMutex/Once/WaitGroup/Pool
5 Select 多路复用 hzh/GolangStar/Go语言进阶/Select select/panic 空 select、超时模式
6 Context 上下文 hzh/GolangStar/Go语言进阶/Context WithCancel/Timeout/Value、传播链
7 定时器 Timer/Ticker hzh/GolangStar/Go语言进阶/定时器 time.Timer/TimeTick 精确控制
8 协程池设计 hzh/GolangStar/Go语言进阶/协程池 worker pool 模式、任务队列
9 反射机制 hzh/GolangStar/Go语言进阶/反射 reflect.TypeOf/Value、Kind
10 泛型编程 hzh/GolangStar/Go语言进阶/范型 类型参数、约束、泛型限制

五、框架实战 📒

Gin + GORM 全栈开发能力。

# 专题 文件 说明
1 Gin Web 框架 hzh/GolangStar/Go语言框架/gin 路由/中间件/JSON/表单/Middleware
2 GORM ORM 框架 hzh/GolangStar/Go语言框架/gorm Model 定义/CRUD/关联关系/事务

六、语言原理 📓

深入 runtime 源码,理解每一个关键字背后的机器行为。 建议搭配「语言基础」对应篇章配对阅读。

# 专题 文件 与基础篇对应
1 程序初始化过程 hzh/GolangStar/Go语言原理/程序初始化 import 流程 init() 执行顺序
2 String 底层原理 hzh/GolangStar/Go语言原理/string原理 不可变字符串、string ↔ bytes 转换开销
3 Slice 底层原理 hzh/GolangStar/Go语言原理/slice原理 array-pointer-length 三字段、扩容策略
4 Map 底层原理 hzh/GolangStar/Go语言原理/map原理 hash 数组、溢出桶、写时迁移
5 Sync.Map 原理 hzh/GolangStar/Go语言原理/sync.map原理 read/dirty/amended 三表结构
6 Channel 底层原理 hzh/GolangStar/Go语言原理/channel原理 hchan 结构、send/recv 全流程
7 Context 底层原理 hzh/GolangStar/Go语言原理/context原理 cancel chain、value chain 实现
8 Defer 执行原理 hzh/GolangStar/Go语言原理/defer原理 defer 栈、closedefer/opendefer
9 Interface 底层原理 hzh/GolangStar/Go语言原理/interface原理 itab/witab、空接口优化
10 逃逸分析 hzh/GolangStar/Go语言原理/逃逸分析 栈 vs 堆分配决策
11 GMP 调度模型 hzh/GolangStar/Go语言原理/gmp调度原理 P/L/M、work-stealing、系统线程
12 内存管理机制 hzh/GolangStar/Go语言原理/内存管理 mheap/mspan/mcentral/mcache
13 垃圾回收算法 hzh/GolangStar/Go语言原理/垃圾回收 三色标记 + 写屏障、混合写屏障

七、测试篇 📔

单元测、基准测试、表格驱动测试。

# 专题 文件 说明
1 Go 语言单元测试 hzh/GolangStar/Go语言单测/Go语言单测 _test.go 约定、testing.T、assert 用法
2 基准测试 Benchmark (同上) b.N 循环、CPU profiling
3 表格驱动测试 (同上) 一行用例覆盖多种边界

八、面试题库 📋

对应各模块的高频面试题,用于查漏补缺。 建议:学完对应原理篇后自行作答,再对照参考解析。

# 专题 文件 覆盖范围
1 基础语法面试题 hzh/GolangStar/Go面试题库/基础面试题 变量/常量/类型/运算符/控制流
2 Slice 相关面试题 hzh/GolangStar/Go面试题库/Slice面试题 append/copy/切片共享底层数组
3 Map 相关面试题 hzh/GolangStar/Go面试题库/Map面试题 遍历顺序/并发安全/底层扩容
4 Channel 相关面试题 hzh/GolangStar/Go面试题库/Channel面试题 缓冲/关闭/死锁场景
5 Sync 同步面试题 hzh/GolangStar/Go面试题库/Sync面试题 Mutex/WaitGroup/Once 场景题
6 Context 相关面试题 hzh/GolangStar/Go面试题库/Context面试题 传递/取消/超时模式
7 Interface 相关面试题 hzh/GolangStar/Go面试题库/Interface面试题 nil interface/类型断言/继承模拟
8 反射机制面试题 hzh/GolangStar/Go面试题库/反射面试题 TypeOf/Kind/setXX 权限
9 GMP 调度面试题 hzh/GolangStar/Go面试题库/GMP面试题 调度流程/steal/park
10 内存管理面试题 hzh/GolangStar/Go面试题库/内存管理面试题 GC/逃逸/分配器
11 垃圾回收面试题 hzh/GolangStar/Go面试题库/垃圾回收面试题 三色标记/写屏障/STW
12 编程算法面试题 hzh/GolangStar/Go面试题库/代码面试题 常见算法 Go 实现

快速导航

目标 直接跳转
从零开始 从 一、Go 语言前景 按序阅读
🔧 搭建环境 hzh/GolangStar/Go环境搭建/Go环境搭建
📏 查阅规范 hzh/GolangStar/Go编码规范/Go编码规范
⚡ 速查语法 三、语言基础(全部 18 小节)
🚀 攻克并发 四、并发编程(10 个并发专题)
🏗️ 动手框架 五、框架实战(Gin + GORM)
🔬 深入源码 六、语言原理(13 篇源码解析)
✅ 刷题检验 八、面试题库(12 套面试题)