# Go专家编程

## Go专家编程

- [Introduction](https://rainbowmango.gitbook.io/go/master.md)
- [前言](https://rainbowmango.gitbook.io/go/foreword.md)
- [第一章：常见数据结构实现原理](https://rainbowmango.gitbook.io/go/di-yi-zhang-chang-jian-shu-ju-jie-gou-shi-xian-yuan-li.md)
- [1.1 chan](https://rainbowmango.gitbook.io/go/di-yi-zhang-chang-jian-shu-ju-jie-gou-shi-xian-yuan-li/1.1-chan.md)
- [1.2 slice](https://rainbowmango.gitbook.io/go/di-yi-zhang-chang-jian-shu-ju-jie-gou-shi-xian-yuan-li/1.2-slice.md)
- [1.3 map](https://rainbowmango.gitbook.io/go/di-yi-zhang-chang-jian-shu-ju-jie-gou-shi-xian-yuan-li/1.3-map.md)
- [1.4 struct](https://rainbowmango.gitbook.io/go/di-yi-zhang-chang-jian-shu-ju-jie-gou-shi-xian-yuan-li/1.4-struct.md)
- [1.5 iota](https://rainbowmango.gitbook.io/go/di-yi-zhang-chang-jian-shu-ju-jie-gou-shi-xian-yuan-li/1.5-iota.md)
- [1.6 string](https://rainbowmango.gitbook.io/go/di-yi-zhang-chang-jian-shu-ju-jie-gou-shi-xian-yuan-li/1.6-string.md)
- [第二章：常见控制结构实现原理](https://rainbowmango.gitbook.io/go/di-er-zhang-chang-jian-kong-zhi-jie-gou-shi-xian-yuan-li.md)
- [2.1 defer](https://rainbowmango.gitbook.io/go/di-er-zhang-chang-jian-kong-zhi-jie-gou-shi-xian-yuan-li/2.1-defer.md)
- [2.1.1 defer 陷阱](https://rainbowmango.gitbook.io/go/di-er-zhang-chang-jian-kong-zhi-jie-gou-shi-xian-yuan-li/2.1-defer/2.1.1-defer-xian-jing.md)
- [2.2 select](https://rainbowmango.gitbook.io/go/di-er-zhang-chang-jian-kong-zhi-jie-gou-shi-xian-yuan-li/2.2-select.md)
- [2.3 range](https://rainbowmango.gitbook.io/go/di-er-zhang-chang-jian-kong-zhi-jie-gou-shi-xian-yuan-li/2.3-range.md)
- [2.4 mutex](https://rainbowmango.gitbook.io/go/di-er-zhang-chang-jian-kong-zhi-jie-gou-shi-xian-yuan-li/2.4-mutex.md)
- [2.5 rwmutex](https://rainbowmango.gitbook.io/go/di-er-zhang-chang-jian-kong-zhi-jie-gou-shi-xian-yuan-li/2.5-rwmutex.md)
- [第三章：协程](https://rainbowmango.gitbook.io/go/di-san-zhang-xie-cheng.md)
- [3.1 协程调度](https://rainbowmango.gitbook.io/go/di-san-zhang-xie-cheng/3.1-xie-cheng-tiao-du.md)
- [第四章：内存管理](https://rainbowmango.gitbook.io/go/di-si-zhang-nei-cun-guan-li.md)
- [4.1 内存分配原理](https://rainbowmango.gitbook.io/go/di-si-zhang-nei-cun-guan-li/4.1-nei-cun-fen-pei-yuan-li.md)
- [4.2 垃圾回收原理](https://rainbowmango.gitbook.io/go/di-si-zhang-nei-cun-guan-li/4.2-la-ji-hui-shou-yuan-li.md)
- [4.3 逃逸分析](https://rainbowmango.gitbook.io/go/di-si-zhang-nei-cun-guan-li/4.3-tao-yi-fen-xi.md)
- [第五章：并发控制](https://rainbowmango.gitbook.io/go/di-wu-zhang-bing-fa-kong-zhi.md)
- [5.1 Channel](https://rainbowmango.gitbook.io/go/di-wu-zhang-bing-fa-kong-zhi/5.1-channel.md)
- [5.2 WaitGroup](https://rainbowmango.gitbook.io/go/di-wu-zhang-bing-fa-kong-zhi/5.2-waitgroup.md)
- [5.3 Context](https://rainbowmango.gitbook.io/go/di-wu-zhang-bing-fa-kong-zhi/5.3-context.md)
- [第六章：反射](https://rainbowmango.gitbook.io/go/di-liu-zhang-fan-she.md)
- [6.1 反射机制](https://rainbowmango.gitbook.io/go/di-liu-zhang-fan-she/6.1-fan-she-ji-zhi.md)
- [第七章：测试](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi.md)
- [7.1 快速开始](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.1-kuai-su-kai-shi.md)
- [7.1.1 单元测试](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.1-kuai-su-kai-shi/7.1.1-dan-yuan-ce-shi.md)
- [7.1.2 性能测试](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.1-kuai-su-kai-shi/7.1.2-xing-neng-ce-shi.md)
- [7.1.3 示例测试](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.1-kuai-su-kai-shi/7.1.3-shi-li-ce-shi.md)
- [7.2 进阶测试](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.2-jin-jie-ce-shi.md)
- [7.2.1 子测试](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.2-jin-jie-ce-shi/7.2.1-zi-ce-shi.md)
- [7.2.2 Main测试](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.2-jin-jie-ce-shi/7.2.2-main-ce-shi.md)
- [7.3 实现原理](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.3-shi-xian-yuan-li.md)
- [7.3.1 testing.common公共类](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.3-shi-xian-yuan-li/7.3.1-testing.common-gong-gong-lei.md)
- [7.3.2 testing.TB接口](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.3-shi-xian-yuan-li/7.3.2-testing.tb-jie-kou.md)
- [7.3.3 单元测试实现原理](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.3-shi-xian-yuan-li/7.3.3-dan-yuan-ce-shi-shi-xian-yuan-li.md)
- [7.3.4 性能测试实现原理](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.3-shi-xian-yuan-li/7.3.4-xing-neng-ce-shi-shi-xian-yuan-li.md)
- [7.3.5 示例测试实现原理](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.3-shi-xian-yuan-li/7.3.5-shi-li-ce-shi-shi-xian-yuan-li.md)
- [7.3.6 Main测试实现原理](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.3-shi-xian-yuan-li/7.3.6-main-ce-shi-shi-xian-yuan-li.md)
- [7.3.7 go test工作机制](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.3-shi-xian-yuan-li/7.3.7-go-test-gong-zuo-ji-zhi.md)
- [7.4 扩展阅读](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.4-kuo-zhan-yue-du.md)
- [7.4.1 测试参数](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.4-kuo-zhan-yue-du/7.4.1-ce-shi-can-shu.md)
- [7.4.2 基准测试分析](https://rainbowmango.gitbook.io/go/di-qi-zhang-ce-shi/7.4-kuo-zhan-yue-du/7.4.2-ji-zhun-ce-shi-fen-xi.md)
- [第八章：httptest](https://rainbowmango.gitbook.io/go/di-ba-zhang-httptest.md)
- [第九章：定时器](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi.md)
- [9.1 Timer](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.1-timer.md)
- [9.1.1 快速开始](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.1-timer/9.1.1-kuai-su-kai-shi.md)
- [9.1.2 实现原理](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.1-timer/9.1.2-shi-xian-yuan-li.md)
- [9.2 Ticker](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.2-ticker.md)
- [9.2.1 快速开始](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.2-ticker/9.2.1-kuai-su-kai-shi.md)
- [9.2.2 实现原理](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.2-ticker/9.2.2-shi-xian-yuan-li.md)
- [9.3 timer](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.3-timer.md)
- [9.3.1 实现原理](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.3-timer/9.3.1-shi-xian-yuan-li.md)
- [9.4 案例](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.4-an-li.md)
- [9.4.1 开源库资源泄露](https://rainbowmango.gitbook.io/go/di-jiu-zhang-ding-shi-qi/9.4-an-li/9.4.1-kai-yuan-ku-zi-yuan-xie-lou.md)
- [第十章：语法糖](https://rainbowmango.gitbook.io/go/di-shi-zhang-yu-fa-tang.md)
- [10.1 简短变量声明](https://rainbowmango.gitbook.io/go/di-shi-zhang-yu-fa-tang/10.1-jian-duan-bian-liang-sheng-ming.md)
- [10.1.1 热身测验](https://rainbowmango.gitbook.io/go/di-shi-zhang-yu-fa-tang/10.1-jian-duan-bian-liang-sheng-ming/10.1.1-re-shen-ce-yan.md)
- [10.1.2 使用规则](https://rainbowmango.gitbook.io/go/di-shi-zhang-yu-fa-tang/10.1-jian-duan-bian-liang-sheng-ming/10.1.2-shi-yong-gui-ze.md)
- [10.2 可变参函数](https://rainbowmango.gitbook.io/go/di-shi-zhang-yu-fa-tang/10.2-ke-bian-can-han-shu.md)
- [第十一章：GO语言版本管理](https://rainbowmango.gitbook.io/go/di-shi-yi-zhang-go-yu-yan-ban-ben-guan-li.md)
- [11.1 GO语言安装](https://rainbowmango.gitbook.io/go/di-shi-yi-zhang-go-yu-yan-ban-ben-guan-li/11.1-go-yu-yan-an-zhuang.md)
- [11.2 GO语言卸载](https://rainbowmango.gitbook.io/go/di-shi-yi-zhang-go-yu-yan-ban-ben-guan-li/11.2-go-yu-yan-xie-zai.md)
- [第十二章：GO依赖管理](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li.md)
- [12.1 GOPATH](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.1-gopath.md)
- [12.2 vendor](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.2-vendor.md)
- [12.3 module](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module.md)
- [12.3.1 基础概念](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.1-ji-chu-gai-nian.md)
- [12.3.2 快速实践](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.2-kuai-su-shi-jian.md)
- [12.3.3 replace指令](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.3-replace-zhi-ling.md)
- [12.3.4 exclude指令](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.4-exclude-zhi-ling.md)
- [12.3.5 indirect含义](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.5-indirect-han-yi.md)
- [12.3.6 版本选择机制](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.6-ban-ben-xuan-ze-ji-zhi.md)
- [12.3.7 incompatible](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.7-incompatible.md)
- [12.3.8 伪版本](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.8-wei-ban-ben.md)
- [12.3.9 依赖包存储](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.9-yi-lai-bao-cun-chu.md)
- [12.3.10 go.sum文件](https://rainbowmango.gitbook.io/go/di-shi-er-zhang-go-yi-lai-guan-li/12.3-module/12.3.10-go.sum-wen-jian.md)
- [附录一：编程陷阱](https://rainbowmango.gitbook.io/go/fu-lu-yi-bian-cheng-xian-jing.md)
- [1 切片追加](https://rainbowmango.gitbook.io/go/fu-lu-yi-bian-cheng-xian-jing/1-qie-pian-zhui-jia.md)
- [2 循环变量绑定](https://rainbowmango.gitbook.io/go/fu-lu-yi-bian-cheng-xian-jing/2-xun-huan-bian-liang-bang-ding.md)
