Go学习笔记(第四版).zip
目录 第一部分 语言 8 第 1 章 类型 9 1.1 变量 9 1.2 常量 10 1.3 基本类型 13 1.4 引用类型 14 1.5 类型转换 14 1.6 字符串 15 1.7 指针 17 1.8 自定义类型 19 第 2 章 表达式 21 2.1 保留字 21 2.2 运算符 21 2.3 初始化 22 2.4 控制流 23 第 3 章 函数 29 3.1 函数定义 29 3.2 变参 30 3.3 返回值 30 3.4 匿名函数 32 3.5 延迟调用 34 3.6 错误处理 35 第 4 章 数据 39 4.1 Array 39 4.2 Slice 40 4.3 Map 45 4 Go 学习笔记, 第 4 版 4.4 Struct 47 第 5 章 方法 53 5.1 方法定义 53 5.2 匿名字段 54 5.3 方法集 56 5.4 表达式 56 第 6 章 接口 60 6.1 接口定义 60 6.2 执行机制 62 6.3 接口转换 63 6.4 接口技巧 65 第 7 章 并发 66 7.1 Goroutine 66 7.2 Channel 68 第 8 章 包 76 8.1 工作空间 76 8.2 源文件 76 8.3 包结构 77 8.4 文档 81 第 9 章 进阶 82 9.1 内存布局 82 9.2 指针陷阱 83 9.3 cgo 86 9.4 Reflect 94 第二部分 源码 109 1. Memory Allocator 110 1.1 初始化 112 1.2 分配流程 117 5 Go 学习笔记, 第 4 版 1.3 释放流程 131 1.4 其他 135 2. Garbage Collector 140 2.1 初始化 140 2.2 垃圾回收 141 2.3 内存释放 155 2.4 状态输出 160 3. Goroutine Scheduler 166 3.1 初始化 166 3.2 创建任务 171 3.3 任务线程 178 3.4 任务执行 184 3.5 连续栈 196 3.6 系统调用 207 3.7 系统监控 211 3.8 状态输出 217 4. Channel 218 4.1 初始化 218 4.2 收发数据 220 4.3 选择模式 227 5. Defer 235 6. Finalizer 241 第三部分 附录 249 A. 工具 250 1. 工具集 250 2. 条件编译 251 3. 跨平台编译 253 4. 预处理 254 6 Go 学习笔记, 第 4 版 B. 调试 255 1. GDB 255 2. Data Race 255 C. 测试 258 1. Test 258 2. Benchmark 260 3. Example 261 4. Cover 261 5. PProf 262
用户评论