Go 是年轻而有活力的语言。
它最初于 2007 由 Robert Griesemer, Rob Pike 和 Ken Thompson 在 Google 开始开发,2009 年正式发布。作者们希望使复杂、高效系统的编写工作变得简单、可靠。同时,他们也希望 Go 能成为一个相对通用的编程环境,能够适应诸如桌面应用、移动应用、数值计算等。
Go 的设计理念充分的体现了这些设计目标。 它是极简化语言的代表,推崇少即是多。为了避免复杂、不可读的代码,Go 限制了语言功能与语法特性。Go 的可读性在众多编程语言中是独树一帜的。另外,为了减轻使用者编写高性能应的负担,它也引入了 Runtime, 提供了诸如协程、垃圾回收等功能。Runtime 虽然复杂了语言本身的实现,但它让使用者获得了更简单易用的编程环境。
国内的 Go 语言社区十分活跃,这得益于致力推广 Go 的技术精英们。我认识本书作者,郝林,也是源于他组织的 Go 语言北京交流会。利用业余时间,他广泛推广普及 Go 语言,组织、邀请技术专家参与交流会。他坚持不懈两年有余,取得了显著的成绩。郝林对 Go 社区建设的执着与热情令人敬佩。我相信,本书也是凝集了他对技术推广的一腔热情,希望让 Go 语言的初学者、工程师们能更快捷、深入的理解 Go 语言,以促进整个技术领域的发展。
Go 语言方面书籍对培养高素质的业余爱好者、从业人员起到了至关重要的作用。本书在各种 Go 语言书籍中也是特点鲜明。本书首先介绍了 Go 语言的基础知识,对初学者有所铺垫。书中大量篇幅覆盖了 Go 语言的并发特性,详细讲解了其中的哲学、原理与实现。我相信很多像我这样,每天都沉浸在 Go 语言的从业人员,也并不完全知道 Go 内部实现的奥妙。每天花上一些时间来读此书,即便对有经验的 Go 从业人员来说,也会是有所帮助的。
在翻读本书时,我也深深体会到了作者写作的用心之处,每个章节中不光有概念的讲解,还有实现实例和经典案例。这些细心之处,让如此一本严肃的技术书籍读起来也并不显枯燥、乏味。书末更有一个独立的章节,来介绍用 Go 语言实现一个爬虫系统。相信很多读者都会迫不及待的跟着作者一起动起手来,实践书中的知识与概念。
最后,作为 Go 和开源社区的一员,我希望读者们能够在享受 Go 开发带来的乐趣与收获的同时,能回馈、融入社区。你们的每一个建议与意见,每一个问题反馈与代码补丁,都会促进和推动开源社区,以及整个计算机产业的发展。我想这也是郝林如此用心编写此书的初衷之一。
李响
3月5日,于美国加利福尼亚州