Go語言學習資料大全整理
Go語言是谷歌釋出的一套程式語言,因為其簡單的部署、良好的併發性等特點受到很多企業的青睞,國外如Google、AWS、Cloudflare、CoreOS等,國內如七牛、阿里等都已經使用Golang開發其雲端計算相關產品。
因此也有很多小夥伴選擇Go語言,其實也對,畢竟大眾化的語言Python、Java、C、C++等崗位競爭激烈,那麼為何不選擇一門競爭性相對而言比較小卻也有前景的一門語言呢。
那麼要學習Go語言就回到我一直說的問題啦“哪裡可以找到好的學習資源?”,其實Go語言還是可以在網上找到很多學習資源的,畢竟現在學習Go語言的、用的人還是蠻多的。
但是,我還是按照我的方式來總結一篇Go語言的學習資源吧,會從以下幾個方面整理:
- 1)線上學習教程:比較系統全面,非常適合新手入門學習;
- 2)書籍:畢竟很多人學習一門語言是從書籍開始的;
- 3)其他Go語言的整理資源:很多比較好的Go語言資源總結整理,推薦看;
- 4)Go語言中文社群:專門的Go語言中文社群,可以交流討論,感興趣的可以看看;
- 5)其他:其他與Go語言相關的一些整理;
一、線上學習教程
主要整理一些比較系統的Go語言學習教程,適合新手學習;
1、官網:
要學習一門語言,當然首先就是推薦官網啦,官網上有各種想要的資源和文章,一定要看,不過門檻就是英文要過關: The Go Programming Language
官網裡面新手推薦看:
- A Tour of Go(Go語言程式設計指南) (中文版本在這裡: Go 指南):主要是帶你瞭解基礎的Go語言和使用方法,重點是有個線上編譯器,可以在瀏覽器裡面寫Go語言,直觀感受Go語言;
- How to Write Go Code:也是帶你入門學習Go語言的,類似教程吧,英文的,新手同樣可以看;
- https://golang.org/ref/spec:Go程式語言的參考手冊,英文的;
官網是要看,但是可以結合其他一些線上教程一起學習,下面推薦一些教程,分為文件形式和視訊形式的教程,可以按照自己的喜好進行選擇。
2、線上教程——文件:
- Go by Example (中文版:GO - Go by Example 中文版):純文件;
- 實驗樓Go語言程式設計入門教程:純文件+線上開發環境;
- 易百教程Go語言入門:純文件;
- 菜鳥教程Go 語言教程:純文件;
以上4個教程都是純文件形式的,但是都非常系統,非常適合新手入門學習;
3、線上教程——視訊:
以上3個教程都是視訊形式的,喜歡看視訊的可以選擇其中一個教程進行入門學習;
4、其他
- Go語言體驗:免費的golang線上開發環境,可直接通過瀏覽器訪問進行Go語言的學習與程式設計。
- 學習一門語言自然少不了動手實戰,那麼實戰專案教程可以去各大學習網站找,一般都會有,就不一一列出來了,需要的自己去看就行,推薦實驗樓上的實戰教程吧,畢竟文件的話隨時都可以看,就像看文章一樣:Go語言實戰專案
二、GO語言相關書籍:
- 《Go語言聖經 》(中文版:Go語言聖經 · GitBook):推薦的人較多,可以看看;
- 《深入解析Go》:gitbook上開源書籍 ,免費可以看的,作者主要分享對Go語言的內部實現的一些研究;
- 《 Go Web 程式設計》:gitbook上開源書籍 ,主要是關於web程式設計方面的,同樣是免費的;
- 一本學習 Go 語言的免費電子書:程式碼託管在github上的,可以克隆專案,書籍主要是教你如何使用Go語言;
其實,書籍有很多很多,主要找到自己覺得不錯的,畢竟每個人對於每本書的看法不一樣,所以就推薦以上4本吧
三、其他相關GO語言資源整理:
網上有很多大牛已經總結了一些很好的Go語言資源整理,所以我不必重複造輪子了,直接整理在一起了,都可以看看,畢竟裡面有很多好的資源,對於學習肯定是有幫助的。
還有這些裡面也可以找到一些不錯的資源:
- 知乎上的話題: 怎麼學習golang?
- csdn博主[[千年的塔]]寫的文章: go 語言學習歷程
四、Go語言中文社群:
還有一些小夥伴是想要找一些社群的,這裡就整理3個Go語言中文社群吧,可以交流探討,感興趣的可以去看看;
其他的一些眾所周知的社群也是可以的,只要你想交流任何地方都可以,不限於在什麼地方交流,主要是要有一顆願意與其他小夥伴交流的心,多交流肯定有好處。
五、其他相關:
還有一些雜七雜八的文章文件,就放在一起吧,挑感興趣的看就行了;
- https://godoc.org/:熟悉package
- Golang 知識點總結
- 編寫地道的Go程式碼
- [翻譯]十條有用的 GO 技術
- Go 入門學習教程:算是比較系統的學習文件;
- 你可能還不知道的一些 Go 語言工具
- Go簡明教程
- 使用Go語言每分鐘處理1百萬請求(譯)
- Go開源專案速查表
## Go語言實戰筆記
1. [Go語言環境搭建詳解](網頁連結)
2. [《Go語言實戰》筆記(一) | Go包管理](網頁連結)
3. [《Go語言實戰》筆記(二) Go開發工具](網頁連結)
4. [《Go語言實戰》筆記(三) | Go Doc 文件](網頁連結)
5. [《Go語言實戰》筆記(四) | Go 陣列](網頁連結)
6. [《Go語言實戰》筆記(五) | Go 切片](網頁連結)
7. [《Go語言實戰》筆記(六) | Go Map](網頁連結)
8. [《Go語言實戰》筆記(七) | Go 型別](網頁連結)
9. [《Go語言實戰》筆記(八) | Go 函式方法](網頁連結)
10. [《Go語言實戰》筆記(九) | Go 介面](網頁連結)
11. [Go語言實戰筆記(十)| Go 嵌入型別](網頁連結)
12. [Go語言實戰筆記(十一)| Go 標誌符可見性](網頁連結)
13. [Go語言實戰筆記(十二)| Go goroutine](網頁連結)
14. [Go語言實戰筆記(十三)| Go 併發資源競爭](網頁連結)
15. [Go語言實戰筆記(十四)| Go 通道](網頁連結)
16. [Go語言實戰筆記(十五)| Go 併發示例-Runner](網頁連結)
17. [Go語言實戰筆記(十六)| Go 併發示例-Pool](網頁連結)
18. [Go語言實戰筆記(十七)| Go 讀寫鎖](網頁連結)
19. [Go語言實戰筆記(十八)| Go log 日誌](網頁連結)
20. [Go語言實戰筆記(十九)| Go Writer 和 Reader](網頁連結)
21. [Go語言實戰筆記(二十)| Go Context](網頁連結)
22. [Go語言實戰筆記(二十一)| Go 單元測試](網頁連結)
23. [Go語言實戰筆記(二十二)| Go 基準測試](網頁連結)
24. [Go語言實戰筆記(二十三)| Go 除錯](網頁連結)
25. [Go語言實戰筆記(二十四)| Go 反射](網頁連結)
26. [Go語言實戰筆記(二十五)| Go Struct Tag](網頁連結)
27. [Go語言實戰筆記(二十六)| Go unsafe 包之記憶體佈局](網頁連結)
28. [Go語言實戰筆記(二十七)| Go unsafe Pointer](網頁連結)
29. [Go語言實戰筆記(二十八)| Go 後記](網頁連結)
## Go語言經典庫使用分析
1. [Go語言經典庫使用分析(一)| 開篇](網頁連結)
2. [Go語言經典庫使用分析(二)| Gorilla Context](網頁連結)
3. [Go語言經典庫使用分析(三)| Gorilla Handlers 詳細介紹](網頁連結)
4. [Go語言經典庫使用分析(四)| Gorilla Handlers 原始碼實現分析](網頁連結)
5. [Go語言經典庫使用分析(五)| Negroni 中介軟體(一)](網頁連結)
6. [Go語言經典庫使用分析(六)| Negroni 中介軟體(二)](網頁連結)
# [Golang 中文學習資料](網頁連結)
本書彙總了網上優質的開源 Golang 電子書,方便大家學習,涵蓋以下三本書:
- [Go入門指南](網頁連結)
- [Go語言聖經](網頁連結)
- [Go Web 程式設計](網頁連結)
推薦幾本golang電子書,可以直接線上看
Go輕鬆學: 網頁連結
Go示例學: 網頁連結
Go Web 程式設計: 網頁連結
原文連結:zhuanlan.zhihu.com