如果说为 Go 语言新手只推荐一本学习教材,那么肯定就是这本号称 Go 语言圣经的 《The Go Programming Language》,豆瓣评分 9.3 分。
书籍内容主要如下:
- Tutorial: 主要介绍一些 Go 的小程序
- Program Structure:介绍 Go 的程序的组成,比如 package,变量啥的
- Basic Data Types:原生基本数据类型
- Composite Types: 复杂数据类型
- Functions:介绍 Go 语言中的函数,以及一些特有的特性,比如多返回值,匿名函数等
- Method: 类似面向对象编程思想中的成员函数
- Interface:Go 语言中非常重要的特性,一般中文翻译成接口
- Goroutine and Channel:Go 的核心特性,有了这些特性才使得并发编程变得异常简单
- Concurrency with Shard Variables: 通过共享内存来实现并发,这种应该是性能最好的,但是日常并不是特别常用
- Package and Go Tool:介绍 Go 的包管理和 Go 工具链
- Testing: Go 语言中的测试,比如 ut,或者 benchmark
- Reflection: Go 语言中的性能扼杀者,反射
- Low-Level Programming: unsafe 包编程指南,包如其名,unsafe
这本书现在看来有点稍显陈旧(2015 年出版的),很多人称之为 Go 圣经,其实是有点过誉,不过对于新手入门找找感觉还是很不错的,各种特性书中都有完整的代码示例。对于入门新手来说,第一阶段就是“抄代码”。
关于书中缺少的部分,比如包管理等,以及不够深入的地方,我们后面会专门写一系列文章从源码甚至汇编的角度来分析和介绍,欢迎关注公众号,不要走丢。
关于这本书的资源,国内七牛团队翻译了一本中文版,但是并不建议购买,主要原因包括: 翻译有点 emm...,比如将 low-level 编程翻译成低级编程,有点让人摸不着头脑 书中内容过于陈旧