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