
封幼林
本書主要講解了Go語言一些關鍵特性的實現原理,NicklausWirth大師曾經說過:算法+數據結構=程序,語言特性的實現也不外乎就是數據結構+代碼邏輯。全書共分爲4個部分:第一部分是基礎特性(第1章~第3章),第二部分是對象模型(第4章~第5章),第三部分是調度系統(第6章~第7章),第四部分是內存管理(第8章~第9章)。書中主要內容包括:指針、函數棧幀、調用約定、變量逃逸、FunctionValue、閉包、defer、panic、方法、MethodValue、組合式繼承、接口、類型斷言、反射、goroutine、搶佔式調度、同步、堆和棧的管理,以及GC等。書中包含大量的探索示例和源碼分析,在學會應用的同時還能瞭解實現原理。書中絕大部分代碼都是用Go語言實現,還有少部分使用匯編語言,都可以使用Go官方SDK直接編譯。探索過程循序漸進條理清晰,用到的工具也都是SDK自帶,方便讀者親自上手實踐。
終於讀完了此書的紙質版。本來打算2022年結束前讀完,沒想到慢了一天。 這本書深入go語言,詳細講解了函數、閉包、方法、接口、defer和panic的底層原理,同時也對runtime中的GMP模型,鎖和併發,堆棧內存管理,GC做了深入的講解。是一本學習go語言底層的不可多得的好書。 早些時候在B站看作者的視頻,就覺得作者的講解非常生動,後來得知作者出書後迫不及待的購買了本書。相比於視頻,書籍更側重於源碼,講解也更爲細緻。 如果本書的最後兩能夠更爲細緻的進行講解,會更好一點。比如8.1節從整體上給出堆內存管理的幾件套的介紹,8.2節從每輪GC的開始到結束進行講解。9.2節棧增長部分結合golang中關於生成棧增長檢測彙編代碼的源碼進行講解,會更爲細緻深入一些。
從彙編入手講解每一部分,這麼多技術書籍裏也算獨樹一幟了。前半本講的比較細緻,後半本不知道是不是臨近末尾,有些敷衍和呆板了。
這本書讀的異常痛苦,讓我明白了一個道理:如果沒有強大的宏觀視角,陷入細節會讓你痛不欲生。
紙質書過了一遍,講真這本書對關鍵語言特性的解釋是我見過最透徹的了,沒看那些彙編代碼,結合僞代碼和作者的解釋也理解的差不多,期待電子版看着方便,能多過幾遍,收穫頗多。
讀了很久很久,到現在也有幾章不是特別懂,以後有緣再回看。學的比較明白的是前五章和第七章,六八九三章還沒太明白。
之前就在b站關注了作者,講解知識非常生動。本書會有較多的源碼以及生成的彙編代碼,需要讀者耐心閱讀。講得還是挺透徹的,推薦推薦
六天分片段讀完了,全文通讀後感覺收穫滿滿,作者大大的實力是真的很強。我印象最深的就是各種go tool反編譯爲彙編和源碼分析。
通透!沒有之一!非VIP可讀,可見價值與價格壓根就不是一回事兒!
一個字牛,雖然很多看不太懂。真的需要慢慢去研究。作者的水平很高。
講的很深了,全從彙編底層原理講起,需要多啃多讀多寫多動手