这不是一本让你快速上手写第一个 Go 程序的入门书,而是一本带你理解「Go 为什么这样设计」的书。它不满足于罗列语法,而是用贯穿全书、逐步演进的实战案例——并发爬虫、非阻塞缓存、表达式解释器、数值计算——把语言特性背后的工程权衡讲透,其中并发两章被读者反复标注为值得细读的核心。它更像《C 语言》的当代续篇:克制、精确、半句废话没有,适合已经会写代码、想真正吃懂 Go 的人。当然,它也有争议:有人嫌它啰嗦、有人吐槽翻译,但正是这种对「idiomatic」的执着,让它成为想深入理解这门语言的人绕不开的一本。
"There is one exception to this rule: two variables whose type carries no information and is therefore of size zero, such as struct{} or [0]int, may, depending on the implementation, have the same address."
"It is not a problem if the map doesn't yet contain that key"
"if the expression is omitted, the initial value is the zero value for this type"
"It perfectly safe for a function to return the address of a local variable"
"Any file may contain any number of functions whose declaration is just func init() {}"
"The type rune is an synonym for int32"
"The compiler represents these uncommitted constants with much greater numeric precision than values of basic types, and arithmetic on them is more precise than machine arithmetic; you may assume at least 256 bits of precision."