Go专家编程
  • Introduction
  • 前言
  • 第一章:常见数据结构实现原理
    • 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 循环变量绑定
Powered by GitBook