Go 语言由来自 Google 公司的 Robert Griesemer,Rob Pike 和 Ken Thompson 三位大牛于2007年9月开始设计和实现,然后于2009年的11月对外正式发布(译注:关于Go语言的创世纪过程请参考 http://talks.golang.org/2015/how go was made.slide )。语言及其配套工具的设计目标是具有表达力,高效的编译和执行效率,有效地编写高效和健壮的程序。

Go 语言有着和 C 语言类似的语法外表,和C语言一样是专业程序员的必备工具,可以用最小的代价获得最大的战果。 但是它不仅仅是一个更新的C语言。它还从其他语言借鉴了很多好的想法,同时避免引入过度的复杂性。 Go 语言中和并发编程相关的特性是全新的也是有效的,同时对数据抽象和面向对象编程的支持也很灵活。 Go语言同时还集成了自动垃圾收集技术用于更好地管理内存。

Go 语言尤其适合编写网络服务相关基础设施,同时也适合开发一些工具软件和系统软件。 但是 Go 语言确实是一个通用的编程语言,它也可以用在图形图像驱动编程、移动应用程序开发 和机器学习等诸多领域。目前 Go 语言已经成为受欢迎的作为无类型的脚本语言的替代者: 因为 Go 编写的程序通常比脚本语言运行的更快也更安全,而且很少会发生意外的类型错误。

Go 语言还是一个开源的项目,可以免费获编译器、库、配套工具的源代码。 Go 语言的贡献者来自一个活跃的全球社区。Go 语言可以运行在类 UNIX 系统—— 比如 Linux、FreeBSD、OpenBSD、Mac OSX——和 Plan9 系统和 Microsoft Windows 操作系统之上。

Go 语言编写的程序无需修改就可以运行在上面这些环境。

本书是为了帮助你开始以有效的方式使用 Go 语言,充分利用语言本身的特性和自带的标准库去编写清晰地道的Go程序。