
译者序
2007年9月20日下午,在谷歌山景城总部的一间办公室里,谷歌的顶级程序员Rob Pike在等待一个C++项目构建的过程中与谷歌的另外两个顶级程序员Robert Griesemer和Ken Thompson进行了一次有关设计一门新编程语言的讨论,他们一拍即合,从此诞生了Go这门新的编程语言。Go语言在2009年开源后,凭借开放活跃的社区,以不可思议的速度成长,并诞生了Docker、Kubernetes等“里程碑级”项目,这些项目让Go被誉为“云计算基础设施新兴语言”,有人直接称其为云计算语言。
时至今日,几乎每一位程序开发者都会在每天的工作中直接使用Go语言或者使用Go语言编写的工具,从国内一些招聘网站数量庞大的Go语言岗位需求中,也不难发现Go语言的巨大潜力,以及掌握和精通这门编程语言的必要性。作者Jon Bodner在书中并未采用教程式行文方式,而是从编程实例出发,引出Go语言的语法知识和编程实践。整个过程深入浅出地讲述了编程原理知识,通过大量的代码示例展示了如何写出符合Go语言惯例的代码,并反复强调代码清晰与简单的重要性。其中还解释了可能影响程序行为的底层概念,比如指针对内存布局与垃圾回收的影响。全书层层推进,娓娓道来,让读者知其然更知其所以然,这些精粹的知识能够帮助我们更好地了解Go语言,做出科学与合理的架构设计,更高效地排查各种复杂的程序异常以及线上故障。
本书是学习Go语言不可多得的一本好书,其内容之新,甚至涵盖目前未正式发布的泛型。在亚马逊网站上搜索“Golang”,会发现本书在五星好评中排名第一(Go语言的超级畅销书Go Programming Language也只有四星半)。我从2019年开始接触Go语言,对这门语言尤为喜爱:它优秀的语言设计、出色的并发特性、丰富且强大的工具链、活跃的社区等深深吸引着我。我们有幸站在巨人的肩膀上翻译了本书,在翻译过程中我们深深体验到了Go语言的设计哲学和无穷魅力。我们三人在近半年的翻译中倾注了很多心血,希望尽最大的努力将本书的所有精华都展现给读者,以帮助更多的朋友从中受益。尽管如此,仍难免有疏漏或者不尽如人意之处,敬请广大读者不吝斧正。
杨波
2021年12月于武汉