Go语言学习笔记
出版信息
雨痕 / 电子工业出版社 / 2016-6 / 89
内容简介
作为时下流行的一种系统编程语言,Go 简单易学,性能很好,且支持各类主流平台。已有大量项目采用 Go 编写,这其中就包括 Docker 等明星作品,其开发和执行效率早已被证明。本书经四年多逐步完善,内容覆盖了语言、运行时、性能优化、工具链等各层面知识。且内容经大量读者反馈和校对,没有明显的缺陷和错误。上卷细致解析了语言规范相关细节,便于读者深入理解语言相关功能的使用方法和注意事项。下卷则对运行时源码做出深度剖析,引导读者透彻了解语言功能背后的支持环境和运行体系,诸如内存分配、垃圾回收和并发调度等。本书不适合编程初学入门,可供有实际编程经验或正在使用Go 工作的人群参考。
作者简介
自 1996 年从事计算机软件开发工作以来,已 20 春秋。期间供职于北大方正、西单电子商务、九城数码、知乎等公司。主要从事核心开发、架构设计,以及部分管理工作。
目录
上卷 语言详解
第1 章 概述 ................................................................................................................. 3
1.1 特征 ......................................................................................................................... 3
1.2 简介 ......................................................................................................................... 6
第2 章 类型 ............................................................................................................... 18
2.1 变量 ....................................................................................................................... 18
2.2 命名 ....................................................................................................................... 22
2.3 常量 ....................................................................................................................... 24
2.4 基本类型 ............................................................................................................... 28
2.5 引用类型 ............................................................................................................... 31
2.6 类型转换 ............................................................................................................... 33
2.7 自定义类型 ........................................................................................................... 34
第3 章 表达式 ........................................................................................................... 38
3.1 保留字 ................................................................................................................... 38
3.2 运算符 ................................................................................................................... 38
3.3 初始化 ................................................................................................................... 44
3.4 流控制 ................................................................................................................... 45
第4 章 函数 ............................................................................................................... 59
4.1 定义 ....................................................................................................................... 59
4.2 参数 ....................................................................................................................... 63
4.3 返回值 ................................................................................................................... 67
4.4 匿名函数 ............................................................................................................... 69
4.5 延迟调用 ............................................................................................................... 76
4.6 错误处理 ............................................................................................................... 80
第5 章 数据 ............................................................................................................... 86
5.1 字符串 ................................................................................................................... 86
5.2 数组 ....................................................................................................................... 95
5.3 切片 ..................................................................................................................... 100
5.4 字典 ..................................................................................................................... 110
5.5 结构 ..................................................................................................................... 118
第6 章 方法 ............................................................................................................. 130
6.1 定义 ..................................................................................................................... 130
6.2 匿名字段 ............................................................................................................. 133
6.3 方法集 ................................................................................................................. 134
6.4 表达式 ................................................................................................................. 136
第7 章 接口 ............................................................................................................. 141
7.1 定义 ..................................................................................................................... 141
7.2 执行机制 ............................................................................................................. 145
7.3 类型转换 ............................................................................................................. 150
7.4 技巧 ..................................................................................................................... 151
第8 章 并发 ............................................................................................................. 153
8.1 并发的含义 ......................................................................................................... 153
8.2 通道 ..................................................................................................................... 163
8.3 同步 ..................................................................................................................... 183
第9 章 包结构 ......................................................................................................... 187
9.1 工作空间 ............................................................................................................. 187
9.2 导入包 ................................................................................................................. 188
9.3 组织结构 ............................................................................................................. 192
9.4 依赖管理 ............................................................................................................. 197
第10 章 反射 ........................................................................................................... 200
10.1 类型 ................................................................................................................... 200
10.2 值 ....................................................................................................................... 207
10.3 方法 ................................................................................................................... 210
10.4 构建 ................................................................................................................... 212
10.5 性能 ................................................................................................................... 213
第11 章 测试 ........................................................................................................... 216
11.1 单元测试 ........................................................................................................... 216
11.2 性能测试 ........................................................................................................... 221
11.3 代码覆盖率 ....................................................................................................... 224
11.4 性能监控 ........................................................................................................... 226
第12 章 工具链 ........................................................................................................ 229
12.1 安装 ................................................................................................................... 229
12.2 工具 ................................................................................................................... 231
12.3 编译 ................................................................................................................... 234
下卷 源码剖析
第13 章 准备 ............................................................................................................ 243
第14 章 引导 ............................................................................................................ 244
第15 章 初始化 ........................................................................................................ 247
第16 章 内存分配 ..................................................................................................... 255
16.1 概述 ................................................................................................................... 255
16.2 初始化 ............................................................................................................... 259
16.3 分配 ................................................................................................................... 265
16.4 回收 ................................................................................................................... 279
16.5 释放 ................................................................................................................... 283
16.6 其他 ................................................................................................................... 285
第17 章 垃圾回收 ...................................................................................................... 291
17.1 概述 ................................................................................................................... 291
17.2 初始化 ............................................................................................................... 293
17.3 启动 ................................................................................................................... 294
17.4 标记 ................................................................................................................... 300
17.5 清理 ................................................................................................................... 311
17.6 监控 ................................................................................................................... 314
17.7 其他 ................................................................................................................... 317
第18 章 并发调度 ...................................................................................................... 326
18.1 概述 ................................................................................................................... 326
18.2 初始化 ............................................................................................................... 327
18.3 任务 ................................................................................................................... 332
18.4 线程 ................................................................................................................... 344
18.5 执行 ................................................................................................................... 353
18.6 连续栈 ............................................................................................................... 370
18.7 系统调用 ........................................................................................................... 385
18.8 监控 ................................................................................................................... 390
18.9 其他 ................................................................................................................... 396
第19 章 通道 ............................................................................................................. 407
19.1 创建 ................................................................................................................... 407
19.2 收发 ................................................................................................................... 408
19.3 选择 ................................................................................................................... 418
第20 章 延迟 ............................................................................................................. 427
20.1 定义 ................................................................................................................... 427
20.2 性能 ................................................................................................................... 433
20.3 错误 ................................................................................................................... 434
第21 章 析构 ............................................................................................................. 438
21.1 设置 ................................................................................................................... 438
21.2 清理 ................................................................................................................... 443
21.3 执行 ................................................................................................................... 445
第22 章 缓存池 ......................................................................................................... 450
22.1 初始化 ............................................................................................................... 450
22.2 操作 ................................................................................................................... 453
22.3 清理 ................................................................................................................... 455