第1章 快速入门 1
1.1 编辑和编译 2
1.2 世界,你好! 9
1.3 自我复制 11
1.4 猜数游戏 14
1.5 图灵机 19
1.6 排版工具 23
1.7 游乐场 30
1.8 位钱 36
1.9 小结 43
第2章 静态类型 44
2.1 数制 45
2.1.1 整数 45
2.1.2 二进制补码 46
2.1.3 整数比较 47
2.1.4 按位运算 48
2.1.5 浮点数 50
2.1.6 复数 51
2.1.7 优先级 52
2.1.8 表达式 53
2.2 字符和字符串 54
2.2.1 UTF-8编码 54
2.2.2 Unicode字符 55
2.2.3 转义字符 56
2.2.4 字符串 56
2.2.5 字符串转换 57
2.3 数组 60
2.3.1 声明 60
2.3.2 下标 61
2.3.3 赋值 61
2.4 切片 63
2.5 结构体 67
2.5.1 项 68
2.5.2 内置 69
2.6 指针 71
2.7 小结 73
第3章 流程控制 74
3.1 简单语句 75
3.2 判断语句if 77
3.3 多分支语句switch 79
3.4 循环语句for 82
3.5 遍历 84
3.6 标号和跳转 85
3.7 作用域 86
3.8 小结 88
第4章 函数 89
4.1 签名 90
4.2 参数 91
4.3 返回语句 93
4.4 函数调用 95
4.5 闭包 97
4.6 压后 99
4.7 派错和恢复 100
4.8 方法 102
4.9 包 105
4.10 导入 107
4.11 程序初始化 108
4.12 小结 110
第5章 动态类型 111
5.1 映射 112
5.2 界面类型 116
5.3 界面值 119
5.4 error界面 122
5.5 有界无类 124
5.6 排序 126
5.7 类型断言 130
5.8 类型分支 133
5.9 反射 135
5.10 小结 141
第6章 面向对象 142
6.1 背景 143
6.2 术语 146
6.3 与C++对比 149
6.3.1 继承 149
6.3.2 抽象类 151
6.3.3 泛型 153
6.4 小结 154
第7章 并发编程 155
7.1 背景 156
7.2 同步通信 158
7.3 去程 162
7.4 程道 164
7.5 遍历与关闭 166
7.6 MapReduce 168
7.7 select语句 170
7.8 程道值 173
7.9 互斥 175
7.10 小结 177
第8章 云计算 178
8.1 背景 179
8.2 GAE 181
8.3 Hello世界! 183
8.4 画胡子 185
8.5 留言录 191
8.6 用户API 195
8.7 数据库API 196
8.7.1 术语 197
8.7.2 Go数据库API 197
8.7.3 实体键 199
8.7.4 查询和索引 200
8.7.5 实体组 201
8.7.6 限制 201
8.8 交易 203
8.9 散段 205
8.10 内存缓冲 208
8.11 大件库 210
8.12 URL抓取 213
8.13 任务队列 214
8.13.1 任务 216
8.13.2 任务执行 217
8.13.3 队列 218
8.14 后端 220
8.15 能力API 221
8.16 电子邮件API 222
8.16.1 发送 222
8.16.2 接收 223
8.17 信道API 224
8.18 小结 226
第9章 标准包 227
9.1 格式包 228
9.1.1 格式输出Printf 229
9.1.2 动词表 230
9.1.3 宽度和精度 231
9.1.4 报错 232
9.1.5 额外标记 232
9.1.6 格式输入 233
9.1.7 字符串格式 234
9.2 字节包 236
9.3 模板包 239
9.4 正则表达式包 245
9.5 时间包 253
9.6 超链接包 258
9.6.1 http服务器和客户机 258
9.6.2 https加密通信 260
9.6.3 Get 263
9.6.4 Post 265
9.6.5 Cookie 268
9.7 编码包 271
9.7.1 gob 271
9.7.2 json 275
附录A Go的安装和使用 277
附录B EBNF 284
附录C 中英术语对照表 291