如果说为 Go 语言新手只推荐一本学习教材,那么肯定就是这本号称 Go 语言圣经的 《The Go Programming Language》,豆瓣评分 9.3 分。


书籍内容主要如下:

  1. Tutorial: 主要介绍一些 Go 的小程序
  2. Program Structure:介绍 Go 的程序的组成,比如 package,变量啥的
  3. Basic Data Types:原生基本数据类型
  4. Composite Types: 复杂数据类型
  5. Functions:介绍 Go 语言中的函数,以及一些特有的特性,比如多返回值,匿名函数等
  6. Method: 类似面向对象编程思想中的成员函数
  7. Interface:Go 语言中非常重要的特性,一般中文翻译成接口
  8. Goroutine and Channel:Go 的核心特性,有了这些特性才使得并发编程变得异常简单
  9. Concurrency with Shard Variables: 通过共享内存来实现并发,这种应该是性能最好的,但是日常并不是特别常用
  10. Package and Go Tool:介绍 Go 的包管理和 Go 工具链
  11. Testing: Go 语言中的测试,比如 ut,或者 benchmark
  12. Reflection: Go 语言中的性能扼杀者,反射
  13. Low-Level Programming: unsafe 包编程指南,包如其名,unsafe

这本书现在看来有点稍显陈旧(2015 年出版的),很多人称之为 Go 圣经,其实是有点过誉,不过对于新手入门找找感觉还是很不错的,各种特性书中都有完整的代码示例。对于入门新手来说,第一阶段就是“抄代码”。

关于书中缺少的部分,比如包管理等,以及不够深入的地方,我们后面会专门写一系列文章从源码甚至汇编的角度来分析和介绍,欢迎关注公众号,不要走丢。

关于这本书的资源,国内七牛团队翻译了一本中文版,但是并不建议购买,主要原因包括: 翻译有点 emm...,比如将 low-level 编程翻译成低级编程,有点让人摸不着头脑 书中内容过于陈旧