标题：Go语言·云动力
书籍出版信息
作者: 樊虹剑  
出版社: 人民邮电出版社
出版年: 2012-6
页数: 293
定价: 39.00元
装帧: 平装
ISBN: 9787115283078
作者简介
樊虹剑，15岁迷上AppleII，立志成为程序员。从ApplesoftBASIC，到MicrosoftC、C++、C#，再到AppleObjective-C，其间使用过大小十几种编程语言，始终不得要领。不明白起源于数学和电子学的计算机科学，为何不去追求诗歌般至简至纯的美学，而是纠结于繁复的形式和空洞的哲学。几欲放弃。直到偶然发现Plan9，才获得返璞归真的乐趣，并一路欢喜走过Inferno，快乐走入Go语言的世界。
内容简介
Go语言是由谷歌的Rob Pike、Ken Thompson和Robert Griesemer共同设计开发的一种新型程序设计语言。2012年Go l的推出，代表着Go语言的稳定成熟，也正式宣告Go走人了主流语言的行列。《Go语言鄠动力》是Go语言程序设计入门书，介绍了Go语言的基础知识，包括静态类型、流程控制、函数、动态类型、面向对象、并发编程等内容，以及同其他C类语言相比，Go所具备的全新特性。同时，《Go语言鄠动力》还介绍了Go语言在云计算中的应用。
云计算时代，对编程语言的要求也越来越高，而现有编程语言都无法满足大规模网络应用的需求，更无法同时满足程序员高效编译、高效执行和轻松编程的要求。2007年，Go语言应运而生。它面向Web和多核计算，强调速度，并引入了高效、低延迟的垃圾回收算法，同时精简了类型，摒弃了危险的指针运算。所有这些特点，都使得Go既容易学习，也便使用，无论是要解决手边的小问题，还是要集体完成大项目，Go都是合适的通用语言。
本书作者是将Go语言在国内传播的第一人，对Go的编译器、运行器和各种包有深入研究，目前已正式成为Go语言的Contributor。本书是他这几年研究心血之结晶，旨在为读者了解Go语言、掌握Go语言提供专业的入门指导。
书中内容共分为9章，全面介绍了Go语言的基础知识，以及Go语言在云计算中的应用。作者还提供了70多个完整的示例程序，方便读者边学边练，加深记忆。通过轻松简洁的介绍，读者定能顺利进入Go语言的世界。
书籍目录
第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
书籍前言
从1978年《C程序设计语言》问世到现在，计算机世界已经发生了翻天覆地的变化。计算机器本身的性能已经得到几千倍的提高，计算机的互联互通更使很多不可思议的事情成为常态。身为计算机灵魂的工程师，程序员一直处在这场变革的风口浪尖。他们既有弄潮儿的自信与洒脱，又时刻面临被后浪吞噬的危险。更微妙的是，尽管计算机科学的先驱们很早就发现，编程是门文字和思维的艺术，而且顶尖程序员的生产力要远大于集体化大规模生产作业中的员工。但是，由于整个计算机产业的迅速发展，以及具备艺术细胞的程序员的稀缺，从业者只能重点投资工具和流程。自从20世纪60年代提出“软件危机”这一问题以来，各种理论和实践不断涌现，而通过变革编程语言来解决问题的努力，也一直在继续。但到目前为止，软件还在危机，同志仍需努力。
C.A.R Hoare 在1980年图灵奖获奖致辞中阐述得很精辟：
“设计软件有两种方式：第一种是尽量简化，使之明显地看不到弱点；另一种是尽量复杂，从而看不到明显的弱点。第一种方式非常困难。就像发现复杂的自然现象之中蕴含着简单的物理定律一样，它需要投入、明察、甚至灵感。”
今天，我非常高兴地向大家介绍Go语言。40年前，C编程语言极大地解放了程序员的生产力。今天，新兴的Go语言也一定能够再次提升程序员的创造力和协作能力，从而让有才能的程序员得以在创作中充分发挥，让程序员重新成为令人尊敬的计算机灵魂的工程师。
目前，Go语言才发布了短短几年时间，就已经赢得了广泛赞誉，并得到了广泛应用。它不但用于支持谷歌和Heroku的云计算平台，还在一些大公司的内部系统中担当关键角色，甚至普通程序员也用Go代替其他常见语言来处理手边的问题。这充分说明Go是一种成熟、实用、好用的语言。它的未来非常光明。
本书所介绍的内容正是使用Go语言时必不可少的基础知识。作者不满足于平铺直叙的方式，而希望能通过轻松的表达，让Go自然而然地接近读者，并以作者自身的经验和观点，启发读者独立地分析和试验，从而让读者能顺利地从入门到精通，让Go成为最好的编程语言。