
白明
Go入门容易,精进难,如何才能像Go开发团队那样写出符合Go思维和语言惯例的高质量代码呢?本书将从编程思维和实践技巧2个维度给出答案,帮助你在Go进阶的路上事半功倍。编程思维层面:只有真正领悟了一门语言的设计哲学和编程思维,并能将之用于实践,才算精通了这门语言。本书从Go语言设计者的视角对Go背后的设计哲学和编程思想进行了梳理和分析,指引读者体会那些看似随意实则经过深思熟虑的设计背后的秘密。实践技巧层面:实践技巧源于对Go开发团队和Go社区开发的高质量代码的阅读、挖掘和归纳,从项目结构、代码风格、语法及其实现、接口、并发、同步、错误与异常处理、测试与调试、性能优化、标准库、第三方库、工具链、最佳实践、工程实践等多个方面给出了改善Go代码质量、写出符合Go思维和惯例的代码的有效实践。学完这本书,你将拥有和Go专家一样的编程思维,写出符合Go惯例和风格的高质量代码,从众多Go初学者中脱颖而出,快速实现从Go新手到专家的转变!
第二册比第一册更加偏重实践,可以在遇到的时候学习一下
第二本相比第一本来说,更多介绍Go的测试、外围工具,有一些是非常实用的技巧,比如调试,性能测试,基本上要用好Go都是必须的实战要求。容器化相关偏少了一些,如果更丰富的话,就更贴近于比较新的实践
提前点评一下,虽然没看这本2,但是1看了不少了. 书中内容涉及GO的方方面面,通俗易懂的讲解了Go的各种内部实现原理,相信看完这两本书,下一步可以向源码迈步了.
卷2侧重讲解go在项目工程实践上,涉及的技术与工程问题。个人认为写得较好,较有收获的要点如下: 1. 测试:包内测试与包外测试,表驱动测试,testdata目录,fake/stub/gomock,fuzz... 2. 调试:pprof,expvar,delve... 3. 标准库:net/http, net(结合计算机网络原理进行讲解),crypto包(分组密码,散列,消息认证码等),unsafe包(uintptr,Pointer与任意类型互转与注意事项),reflect包... 4. cgo:实现原理,编译c的开销,详细例子等, 5. 工具链:go mod,GOGC参数,go tool compile/link,go generate... 6. 工程实践陷阱。
介绍了很多有用的工具和技巧,都是实实在在的经验。不过也生动展示了这门语言丑陋的地方,比如61包管理、66陷阱、上册的38错误处理优化,老用户真的会觉得是在和不合理的设计做斗争。
这本介绍了go实际项目中常用到的测试,网络通信,包管理,常见package的使用,以及陷阱,都是干货,适合快速通读一遍,实际遇到了再来细读
很不错的go语言工具书,入门进阶都适合阅读。
跟第一本相比,太多无关紧要的细节,有的和go也没啥关系,就像https原理之类的,凑字数嫌疑比较重。
看了第一本,再来看第二本,循序渐进,将知识串起来,不错,值得推荐!
东拼西凑,有关的无关的扯一通凑字数