《Go语言底层原理剖析》是一本深入讲解Go语言核心原理的书籍,从编译原理、内存管理、协程等方面进行了详细阐述,并通过实例深入剖析了Go语言的底层实现。本书适合对Go语言底层原理感兴趣的读者阅读。
Go语言底层原理剖析读后感(一)
目前读了74% 我只能说啃起来真累 很多地方都是讲的很简略 有时候还要结合网上找的内容才能理解。我刚开始看的时候还没有总体评价,但我看评论都是5星,现在评价出来6.8 我当初要是看到绝对不会买,现在已经看了这么多,只能算是上了贼船硬着头皮啃,难受。有些地方有错误也就算了,我买的kindle版本脚注还不给显示,我第一次遇到这种书,也是醉了。
Go语言底层原理剖析读后感(二)
不是托
Go 语言从第一个大版本到现在已经 9 年了,可以注意到尤其是最近几年,Go 的书籍越来越丰富。18 年还没毕业时,在学校图书馆里能看到的还只有寥寥基本讲解 Go 语法的书。20 年、21 年,越来越多的作者开始出书描述 Go 的 Design 和 Implementation。最近看的一些书,包括《Go 语言底层原理剖析》、《Go 专家编程》等,都帮我节约了很多细读源码的时间。
在 Software Developer 这个岗位上,很多资料,例如文档、代码,都是开源的,所以如果要精通一个领域,学习最根本的代码;那读书跟读代码比有什么优势呢?因为不可能所有项目的源码都有时间精读、提 Issue、提 PR,所以个人认为看书就是为了在有限的时间内尽可能掌握更多的内容。那两种方式相比,技术书就应该更加概括、更加抽象、组织得更有序。
《Go 语言底层原理剖析》里面虽然还是需要一部分代码展示,但是也使用了很多图表来表达,读完确实有“快速掌握”的体验,而且,很多内容也是其他书没有描述到的,没买的读者可以细看一下目录,有没有想看的知识点。
如果有大片的时间可以阅读源码,那作为 Developer 这肯定是最好的学习实践方式;如果没有,毕竟现在很多企业工作强度都不小,那先看看书,掌握基本脉络,再去根据需要看一些源码,也是不错的学习途径。
最后打分4星,感觉基本是这类工具书的上限了,豆瓣9分以上的书籍要么是刷分的,要么是机工出版社大理石书(比如算法导论)、人邮APUE、国外各种原版教材等等,大家心里都有数,分数看个乐呵就行,没有什么实际意义,对自己有用最重要。
Go语言底层原理剖析读后感(三)
说实话没读过这么差的书,写得晦涩难懂也就算了,可能是我知识储备不够看不懂。但是在基本的语句和代码编写十分不严谨,代码示例十分随意。
首先是第一点,原书第八章8.2.5 map并发冲突 中最后一段话。第一句话:“Go语言为什么不支持并发的读写。”最后一句话:“Go 语言只支持并发读写”。这种严重的逻辑冲突都没发现?
8.2.5 map并发冲突
然后是第二个具有严重的误导性的地方,原书第六章 6.3.2 数组字面量初始化原理。原文写的是“通过 typecheckcomplit 函数循环字面量并分别进行赋值”,但是接下来贴的代码和golang底层源码完全不一样,甚至出现了定义变量时使用 i2,却完全没有使用这个变量,反而是 i 这个变量不知道什么时候突然冒出来的。
原书中不知为什么特意把语法糖和普通创建一个数组的情况混合起来,导致了一个严重的逻辑错误,如果是用语法糖赋值的情况下t.NumLength()应该是0,是一个等待赋值的数据,但是这个地方却用这个值来做运算,在运算结束以后才重新判断并赋值,这样的话前面在初始化数据的时候就会触发error。这样明显的逻辑错误居然就这样放到书里面了?
源代码中这段函数节选是:
typtecheckarraylit核心逻辑节选:
而语法糖的情况则是另外处理的,不是原书中混合在一起处理的
总而言之,书中逻辑错误太多,而且代码节选也很随意。完全不适合阅读。