Go语言相关书籍推荐(从入门到放弃)
前言
最近總有讀者問我可不可以推薦一下go語言入門必讀書籍。所以今天就推薦幾本。因為筆者也沒讀過幾本,所以就咨詢了幾位前輩,現(xiàn)在我就把這一份書單介紹給你們,從入門到進(jìn)階。
Go語言簡介
Go語言是最近幾年流行起來的語言,該語言由谷歌發(fā)明,現(xiàn)在得到廣泛應(yīng)用。Go語言的最大特點就是語法簡單且并發(fā)支持度好,開發(fā)效率很高。平常我們在C/C++語言中需要幾十行的代碼量,在Go語言中可能就只需要幾行代碼就可以搞定。現(xiàn)在也越來越多的人開始轉(zhuǎn)學(xué)Go。
Go語言優(yōu)勢
- 腳本化的語法;開發(fā)效率高,容易上手
- 靜態(tài)類型+編譯型,程序運(yùn)行速度有保障;靜態(tài)類型+編譯型語言相對于動態(tài)類型+解釋型語言的效率高
- 原生的支持并發(fā)編程;降低開發(fā)、維護(hù)成本/程序可以更好的執(zhí)行
- 對于云原生支持比較好,容器化,微服務(wù)化比較容易。
Go的缺點
- 它不支持泛型,即使有很多關(guān)于它的討論。可能也在議程當(dāng)中,期待那一天的到來。
- 使用這種編程語言分發(fā)的軟件包非常有用,但Go在傳統(tǒng)意義上并不是面向?qū)ο蟮摹?/li>
- 缺少一些庫,尤其是UI工具包。
Go原生應(yīng)用
- Docker:一組用于部署Linux容器的工具
- Openshift:由Red Hat提供的云計算平臺即服務(wù)。
- Kubernetes:無縫自動化部署流程的未來
- Tidb: 開源分布式關(guān)系型數(shù)據(jù)庫。
- InfluxDB:是由InfluxData開發(fā)的開源時間序列數(shù)據(jù)庫。
- Etcd:分布式的鍵值對數(shù)據(jù)存儲系統(tǒng),提供共享配置、服務(wù)的注冊和發(fā)現(xiàn)。
擅長領(lǐng)域
Go語言主要用途如下:
入門書籍
- Go語言核心編程
學(xué)習(xí)任何一門語言,首先要學(xué)習(xí)的就是語法,這一本書其實就完全可以帶你入門,我讀的第一本Go相關(guān)書籍就是它,對Go的基礎(chǔ)語法、核心用都進(jìn)行了詳細(xì)講解,尤其其中有幾篇文章對Go語言陷阱進(jìn)行講解,真的很棒,強(qiáng)烈推薦。
- Go語言程序設(shè)計
這本書來頭不小,其作者是Kernigan和谷歌公司Go團(tuán)隊主管Alan Donovan。這本書應(yīng)該說是Go語言入門必讀的第一本書。全書總共分為13章,主要內(nèi)容包括:Go的基礎(chǔ)知識、基本結(jié)構(gòu)、基本數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型等等。這里就不全列舉了。不過這本書我沒有讀過,所以給他放在了第二位。
- Go語言編程
這本書是國內(nèi)某云的研發(fā)團(tuán)隊編寫的。該公司是國內(nèi)最早大規(guī)模使用Go的。這本強(qiáng)烈推薦給大家,這本書不僅介紹Go語言的關(guān)鍵語法,并且從工程實踐的角度介紹Go語言的內(nèi)容,從中一定會收獲不少。
- Go并發(fā)編程實戰(zhàn)
這本書講解了Go語言的最大特點:并發(fā)編程。這本書對Go語言并發(fā)進(jìn)行深入講解,在你熟悉了Go語言基本語法后,強(qiáng)烈推薦大家看一下這本書,讓你對并發(fā)的理解更上一個層次。
進(jìn)階書籍
- Go Web編程
這個是我讀的第二本書,本書將教讀者運(yùn)用現(xiàn)代化設(shè)計理念構(gòu)建Go Web應(yīng)用的方法。閱讀本書能讓讀者學(xué)會如何通過依賴注入設(shè)計模式來編寫測試替身,如何在Web應(yīng)用中使用并發(fā)特性,還有如何在Web服務(wù)中創(chuàng)建以及處理JSON數(shù)據(jù)和XML數(shù)據(jù)。除此之外,讀者還將學(xué)會如何盡可能地減少應(yīng)用對外部框架的依賴,并了解大量與應(yīng)用測試以及應(yīng)用部署有關(guān)的有價值的生產(chǎn)技術(shù)。
- Go語言編程之旅
這本書的作者是我們的煎魚大佬,這本書是市面上少有的面向項目實踐的一本書。這本書涵蓋命令行應(yīng)用、HTTP應(yīng)用、RPC應(yīng)用、WebSocket應(yīng)用等常見項目,從做、學(xué)、排三個方向講解,讓我對項目實踐有了更透徹的理解,特別是最后一章,排查和分析問題的總結(jié),讓我受益匪淺。
- Go語言高并發(fā)與微服務(wù)實戰(zhàn)
本書以當(dāng)前流行的微服務(wù)架構(gòu)和Go語言的高并發(fā)特性為主線,介紹Go語言微服務(wù)的各個組件和并發(fā)實戰(zhàn)。目前在市面上大部分微服務(wù)相關(guān)書籍中都是JAVA語言實現(xiàn)的,而本書則是基于Go語言來對微服務(wù)結(jié)構(gòu)進(jìn)行深入剖析,以大量實戰(zhàn)總結(jié)和案例為主線懟微服務(wù)的相關(guān)技術(shù)做講解。如果想系統(tǒng)學(xué)習(xí)微服務(wù),這本書不容錯過。
- Go語言圣經(jīng)
很多大佬都推薦這一本書,但是我還是把它放在了最后,因為他真的不適合新手學(xué)習(xí),里面的練習(xí)題真的難。所以一定要有一定經(jīng)驗了再去看這一本書,這本書確實是本好書,但不太適合非 C 系編程語言的人作為入門 Go 的首選。但是強(qiáng)烈推薦大家看一下這本書,不過不是剛?cè)腴T的時候。
總結(jié)
上面這8本書,只是推薦閱讀哈,并不是入門一定要看書哈,看視頻也是一個不錯的選擇,B站入門視頻就很多,可以白嫖~~~。
Go語言圣經(jīng)強(qiáng)烈推薦看,兄弟們~~~。
好啦,這一篇文章到這就結(jié)束了,我們下期見~~。希望對你們有用,又不對的地方歡迎指出,可添加我的golang交流群,我們一起學(xué)習(xí)交流。
結(jié)尾給大家發(fā)一個小福利吧,最近我在看[微服務(wù)架構(gòu)設(shè)計模式]這一本書,講的很好,自己也收集了一本PDF,有需要的小伙可以到自行下載。獲取方式:關(guān)注公眾號:[Golang夢工廠],后臺回復(fù):[微服務(wù)],即可獲取。
我翻譯了一份GIN中文文檔,會定期進(jìn)行維護(hù),有需要的小伙伴后臺回復(fù)[gin]即可下載。
翻譯了一份Machinery中文文檔,會定期進(jìn)行維護(hù),有需要的小伙伴們后臺回復(fù)[machinery]即可獲取。
我是asong,一名普普通通的程序猿,讓gi我一起慢慢變強(qiáng)吧。我自己建了一個golang交流群,有需要的小伙伴加我vx,我拉你入群。歡迎各位的關(guān)注,我們下期見~~~
推薦往期文章:
- machinery-go異步任務(wù)隊列
- go參數(shù)傳遞類型
- 手把手教姐姐寫消息隊列
- 常見面試題之緩存雪崩、緩存穿透、緩存擊穿
- 詳解Context包,看這一篇就夠了!!!
- go-ElasticSearch入門看這一篇就夠了(一)
- 面試官:go中for-range使用過嗎?這幾個問題你能解釋一下原因嗎
總結(jié)
以上是生活随笔為你收集整理的Go语言相关书籍推荐(从入门到放弃)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 敏捷基本概念——三大角色五大会议
- 下一篇: 团队中的八种角色及启示