Summary 前言 第一章:常见数据结构实现原理 1.1 chan 1.2 slice 1.3 map 1.4 struct 1.5 iota 1.6 string 第二章:常见控制结构实现原理 2.1 defer 2.1.1 defer 陷阱 2.2 select 2.3 range 2.4 mutex 2.5 rwmutex 第三章:协程 3.1 协程调度 第四章:内存管理 4.1 内存分配原理 4.2 垃圾回收原理 4.3 逃逸分析 第五章:并发控制 5.1 Channel 5.2 WaitGroup 5.3 Context 第六章:反射 6.1 反射机制 第七章:测试 7.1 快速开始 7.1.1 单元测试 7.1.2 性能测试 7.1.3 示例测试 7.2 进阶测试 7.2.1 子测试 7.2.2 Main测试 7.3 实现原理 7.3.1 testing.common公共类 7.3.2 testing.TB接口 7.3.3 单元测试实现原理 7.3.4 性能测试实现原理 7.3.5 示例测试实现原理 7.3.6 Main测试实现原理 7.3.7 go test工作机制 7.4 扩展阅读 7.4.1 测试参数 7.4.2 基准测试分析 第八章:httptest 第九章:定时器 9.1 Timer 9.1.1 快速开始 9.1.2 实现原理 9.2 Ticker 9.2.1 快速开始 9.2.2 实现原理 9.3 timer 9.3.1 实现原理 9.4 案例 9.4.1 开源库资源泄露 第十章:语法糖 10.1 简短变量声明 10.1.1 热身测验 10.1.2 使用规则 10.2 可变参函数 第十一章:GO语言版本管理 11.1 GO语言安装 11.2 GO语言卸载 第十二章:GO依赖管理 12.1 GOPATH 12.2 vendor 12.3 module 12.3.1 基础概念 12.3.2 快速实践 12.3.3 replace指令 12.3.4 exclude指令 12.3.5 indirect含义 12.3.6 版本选择机制 12.3.7 incompatible 12.3.8 伪版本 12.3.9 依赖包存储 12.3.10 go.sum文件 附录一:编程陷阱 1 切片追加 2 循环变量绑定