
書單一共包含 10 本書,分為入門 5 本,進(jìn)階 5 本。我讀過其中 7 本,另外 3 本雖然沒讀過,但也是網(wǎng)上推薦比較多的。
雖然分了入門和進(jìn)階,但是很多書中這兩部分內(nèi)容是都包含了的。大家看的時(shí)候可以根據(jù)自己的情況,先打好基礎(chǔ),再進(jìn)行進(jìn)階。
有的書是開源的,可以直接在線閱讀,有的有電子書,大家可以在這里 GitHub 找到下載方式。如果條件允許的話,買正版是最好的。
入門
《Go語言趣學(xué)指南》
本書是一本面向 Go 語言初學(xué)者的書,內(nèi)容也比較淺,非常適合入門。
書中循序漸進(jìn)地介紹了使用 Go 語言必需知道的知識(shí),展示了非常多生動(dòng)有趣的例子,并通過提供大量練習(xí)來加深讀者對(duì)書中所述內(nèi)容的理解。
《Go 入門指南》
這本書的英文名稱叫《The Way to Go》,作者利用業(yè)余時(shí)間來進(jìn)行翻譯工作。在取得原作者 Ivo Balbaert 授權(quán)的情況下,將其開源。
在線閱讀: https://github.com/Unknwon/the-way-to-go_ZH_CN
《Go 語言編程》
本書以介紹 Go 語言特性為主,示例則盡量采用作者平常的實(shí)踐,而不是一個(gè)沒有太大實(shí)際意義的語法示范樣例。通過與 C++ 和 Java 做一個(gè)橫向比較,可以更直觀看出其設(shè)計(jì)理念的差別。
作者許式偉為原金山 WPS 首席架構(gòu)師、曾是盛大創(chuàng)新院研究員,目前是國(guó)內(nèi) Go 語言實(shí)踐圈子公認(rèn)的 Go 語言專家。參與本書寫作的幾位作者都是實(shí)際用 Go 語言開發(fā)的項(xiàng)目的開發(fā)人員,有較強(qiáng)的實(shí)戰(zhàn)經(jīng)驗(yàn)。
《Go 語言 101》
是一本著墨于 Go 語法語義以及運(yùn)行時(shí)相關(guān)知識(shí)點(diǎn)的編程指導(dǎo)書(Go 1.17 就緒)。 此書旨在盡可能地幫助 Go 程序員更深更全面地理解 Go 語言。
此書也搜集了 Go 語言和 Go 編程中的很多細(xì)節(jié),其中有一些在官方文檔中從未提及。
此書同時(shí)適合 Go 初學(xué)者和有一定經(jīng)驗(yàn)的 Go 程序員閱讀。
在線閱讀: https://gfw.go101.org/article/101.html
《Go 語言程序設(shè)計(jì)》
本書由作者 Kernighan 和谷歌公司 Go 團(tuán)隊(duì)主管 Alan Donovan 聯(lián)袂撰寫,是學(xué)習(xí) Go 語言的指南級(jí)書籍。內(nèi)容翔實(shí)全面,涵蓋了全部基礎(chǔ)內(nèi)容,值得一讀。
進(jìn)階
《Go 語言實(shí)戰(zhàn)》
相比于其他技術(shù)書籍,這本書很薄。顯然,這不是面面俱到,涵蓋所有知識(shí)點(diǎn)的一本書,但它直擊要點(diǎn)。
我在閱讀過程中,最大的感受就是,很多看基礎(chǔ)知識(shí)過程中碰到的,又很難通過搜索引擎找到答案的問題,在這里獲得了解答。
《Go Web 編程》
學(xué)語言不是目的,能夠使用這門語言來干活并掙到錢,才是目的。因此,不得不學(xué)一下 Go 在 Web 編程方面的應(yīng)用。
這本書是由黃健宏翻譯的,這位譯者,還著有《Redis 設(shè)計(jì)與實(shí)現(xiàn)》一書,書中深入淺出地分析了 Redis 所用的數(shù)據(jù)結(jié)構(gòu)和設(shè)計(jì)思想,屬實(shí)優(yōu)秀。
《Go 語言高級(jí)編程》
涵蓋 CGO、Go 匯編、RPC 實(shí)現(xiàn)、Web 框架、分布式系統(tǒng)等高階主題。書中章節(jié)之間沒有很強(qiáng)的關(guān)聯(lián)性,每個(gè)章節(jié)都是獨(dú)立的知識(shí),完全可以按需閱讀。
在線閱讀: https://github.com/chai2010/advanced-go-programming-book
《Go 語言學(xué)習(xí)筆記》
作者是雨痕大佬,2015 年第一屆 GopherChina 大會(huì)講師。
本書分上下兩卷:
上卷細(xì)致解析了語言規(guī)范相關(guān)細(xì)節(jié),便于讀者深入理解語言相關(guān)功能的使用方法和注意事項(xiàng)。
下卷則對(duì)運(yùn)行時(shí)源碼做出深度剖析,引導(dǎo)讀者透徹了解語言功能背后的支持環(huán)境和運(yùn)行體系,諸如內(nèi)存分配、垃圾回收和并發(fā)調(diào)度等。本書不適合編程初學(xué)入門,可供有實(shí)際編程經(jīng)驗(yàn)或正在使用 Go 工作的人群參考。
《Go 語言底層原理剖析》
本書使用淺顯易懂的語言與大量圖片深入介紹了 Go 語言編譯時(shí)、類型系統(tǒng)、語法特性、函數(shù)調(diào)用規(guī)范、并發(fā)編程、內(nèi)存管理與垃圾回收、運(yùn)行狀態(tài)監(jiān)控等模塊的使用方法和底層原理。
對(duì)于想要了解 Go 底層原理,閱讀源碼的同學(xué)來說,可以閱讀此書,但想要完全理解書中的內(nèi)容,并不是一件容易的事。
最近,我還整理了一份 Go 學(xué)習(xí)路線,思維導(dǎo)圖如下:

如果感興趣的話,詳情見下面這篇文章:
這個(gè)學(xué)習(xí)路線還會(huì)不停維護(hù)和更新,大家也可以關(guān)注我的 GitHub,這樣就可以第一時(shí)間獲取最新資源。
如果覺得本文還可以的話,歡迎點(diǎn)贊,分享和關(guān)注,感謝支持。
推薦閱讀: