學習任何東西,基礎都很重要。基礎就好比建築的地基,只有地基牢固了,才能建成高樓大廈。學習編程語言亦是如此。很多人喜歡一上來就學習各種框架,其實那些框架對你來說都是工具,你自己的基礎好,懂得了它們的原理,自己也有能力創造更優秀的框架。
先看國外的一篇文章
學習 Go 編程的十大在線資源
作者:AGIRA TECHNOLOGIES[1] 原文鏈接:https://www.agiratech.com/learn-go-programming-tutorials/
Golang 也叫 Go 是增長最快的編程語言。儘管該語言具有易於學習的語法,但是如果你是編程界的新手,那麼找到合適的學習資源可能會很棘手。
現在,讓我們簡要介紹一下 Go 編程語言。
Go是 Google 線上團隊於 2009 年正式發佈的一門開源語言。它是由 Robert Griesemer,Ken Thompson 和 Rob Pike 開發的。它是一種多用途編程語言,專門用於構建更快和可伸縮的應用程序。它提供了快速編譯,垃圾回收,動態類型,併發,標準庫和包等功能。
要配置一個 Golang 的開發環境,你需要一個文本編輯器和一個 Go 編譯器。你可以從此鏈接[2]下載最新版本的 Go。
你是否在尋找可靠的資源來學習 Go 編程語言?那開始學習本文中的教程和課程,以開始學習 Golang 編程。
1、Go by Example[3]
Go by Example 是用於學習 Go 的交互式在線課程教程。用例子的方式學習 Go。本教程以井井有條的方式涵蓋了所有主題。這些概念定義明確且具有啟發性,可以幫助你清楚地理解這些概念。本教程適合初學者和高級程序員。甚至專業人士也可以從中獲得一些東西。它涵蓋了非常基本的概念,例如如何在系統中安裝 Go。
這裡有中文版:Go by Example 中文[4]
2、Introducing Go[5]
Introducing Go _Learn go
這本書是給初學者的。它是學習 Go 入門級資源。如果你想深入瞭解 Go 的核心概念,這本書也是最佳選擇。它教你如何構建真實的應用程序。它漸進式的講解和練習,可幫助你練習所學的內容。
3、Tour of Go[6]
A tour of go _learn go
通過本教程,A Tour of Go,你不需要在系統中進行額外的設置。它帶有內置的代碼編輯器,使你輕鬆進行 Go 編程。這些教程涵蓋了關鍵概念,例如函數,程序包,流控制語句,變量,map,切片和結構。該在線教程提供了學習和實踐概念的完整指南。
Go 語言中文網提供中文版:http://tour.studygolang.com/
4、Hackernoon[7] – Golang 的基礎知識
Hackernoon_learn golang
Hackernoon 的 Golang 基礎知識對於初學者來說是一個很好的開始。您可以免費開始學習 Golang 的課程內容。本課程將幫助您輕鬆理解基本概念,並涵蓋相關概念,例如變量,循環,函數等。您還可以學習為 Golang 建立環境。
5、Go Bootcamp[8]
Go bootcamp-learn go
Go Bootcamp 是學習 Go 編程語言的綜合指南之一。本課程涵蓋了 Go 的所有基本概念和高級概念。它是通過互聯網學習 Golang 的高質量資源之一。它講了一些關鍵概念,例如接口,併發性,方法,實踐,集合類型,包等。所有這些教程都是免費的。
6、Golangbot[9] – Golang 系列教程
golangbot-learn go
Golangbot 以一種有趣且簡單的方法,定期關注和學習 Golang。你可以訪問網站上的免費系列教程。簡而言之,該平臺具有你所需的所有信息,與 Go 編程語言相關的任何信息都已可用。這可以幫助您改善編碼,解決實際問題,Golang 基礎知識到高級教程。Golangbo t包含您需要的所有學習材料。
Go 語言中文網旗下 GCTT 對這個系列教程進行了翻譯,通過這裡可以查看:『GCTT 出品』Go 系列教程 —— 1. 介紹與安裝
7、Gophercises[10]
gophercises - learn go
Gophercises 是用於學習 Golang 的免費在線教程。如果你想熟悉 Go 概念,那麼這將是增強你技能的絕佳平臺。本教程包括一些關鍵概念,例如函數,接口和從命令行讀取輸入。它帶給你一些指南和練習,以幫助你成為熟練的 Golang 開發人員。你可以練習編碼以及 Golang 的不同概念,例如互斥體(mutexes),goroutine 和 通道。這些練習會增強你使用 Golang 的信心。
8、Learning Go – Miek.nl[11]
learning go
學習 Go 是一本免費的電子書,你可以在其中學習 Go 編程語言。它提供了有關 Golang 所有概念的高質量信息,並提供了明確定義的示例。這本電子書適合初學者,因此,你不需要具有編碼經驗。但是,它也涵蓋了高級主題。其中包括基礎知識,功能,庫和軟件包。
該書有中文版本:http://www.mikespook.com/learning-go/
9、Tutorials Point[12]
tutorials point_learn go
Tutorials Point 是大量提供有關 Golang 信息的領先平臺之一。這個網站適合所有人。對於專業人士而言,本教程適合每個人。在這裡,你可以學習基本概念以及高級功能。你可以開始使用諸如環境設置,操作,數據類型等關鍵概念。這些教程為 Go 開發者的問題和解答提供了一個活躍的論壇。你可以提出問題並獲得 Golang 專家的答案,以清楚地瞭解 Golang 的概念和方法。
10、GoLang Tutorials[13]
golang tutorials - learn go
Golang 教程是面向初學者和專業人士的免費在線課程。你可以學習如何使用 Go 編程語言進行編程。它收集了 Golang 的基本和高級概念。它涵蓋了諸如控制結構,結構,接口,內存管理等概念。這些教程分為多個部分,其中每個部分都通過示例進行了很好的定義。
小結
覺得有用嗎?立即與你認為值得此信息的人共享。隨時分享你的建議,並添加到此 Golang 教程列表中。我們很高興收到你的來信。
國內用戶學習建議
以上是國外推薦的,對於國內 Go 愛好者而言,我個人建議:
1. 入門圖書 + 官方文檔。
入門圖書:Go 語言入門圖書挺多的,根據我的瞭解和大家的反饋、討論,比較推薦如下圖書,選擇一本認真看即可,沒必要那麼多。
- 《The Way to Go》,有無聞組織翻譯了中文版。https://books.studygolang.com/the-way-to-go_ZH_CN/ 。這本書我12年學習GO語言的時候看過,內容較全面。
- 雨痕的 《Go 語言學習筆記》第四版的第一部分語言。https://github.com/qyuhen/book
- 《Go 語言聖經》中文版 https://books.studygolang.com/gopl-zh/ ,該書建議一定看看
系統的看了一本入門書籍後,可以有針對性的看一些官方文檔,查漏補缺,同時避免一些書上的東西過時或有誤,畢竟官方的最權威。
文檔:英文好的可以看英文 http://docs.studygolang.com 或者看如下列出的中文翻譯版)有四個文檔推薦閱讀:(可以根據情況快速過一遍)
- Go 語言之旅 http://tour.studygolang.com/
- 語言規範 http://docscn.studygolang.com/ref/spec.old
- Effective Go http://docscn.studygolang.com/doc/effective_go.html
- FAQ http://docscn.studygolang.com/doc/faq
在學習的過程中,針對裡面的代碼一定要實際動手敲,這樣能夠加深印象。
另外,可以通過練手 https://books.studygolang.com/gobyexample 上的例子加深印象。
2. 之後推薦的是《Go 語言實戰》這本書,In Action系列都是比較經典的,入門圖書沒有的部分值得細讀。這本書有一定的難度,所以沒當作入門的圖書。
以上資料學習完後,你應該掌握了 Go 語言,但需要進行必要的實戰。我們的 Go 項目實戰 知識星球目標之一就是為了鞏固、加深對基礎知識的掌握。
對 Go Web 開發感興趣的,可以看看謝孟軍的書:https://github.com/astaxie/build-web-application-with-golang
3. 基礎知識紮實了,想進一步深入,可以學習如下書籍
- 柴大的 《Go 語言高級編程》 https://books.studygolang.com/advanced-go-programming-book/
- 雨痕的 《Go 語言學習筆記》第5版,源碼剖析 https://github.com/qyuhen/book
- 《Go專家編程》https://books.studygolang.com/GoExpertProgramming
- 《Go語言101》https://gfw.go101.org/article/101.html 這本書可以當作參考,上面很多細節點,可以查閱自己感興趣的部分
- 《深入Go語言》專欄 https://studygolang.com/subject/3
另外,這裡收集了各種開源免費的 Go 相關資料,根據自己的興趣瞭解:https://books.studygolang.com/
喜歡看視頻的,可以看這個帖子下面的評論:https://studygolang.com/topics/6436
[1]
AGIRA TECHNOLOGIES: https://www.agiratech.com/author/agira/
[2]
從此鏈接: https://studygolang.com/dl
[3]
Go by Example: https://gobyexample.com/
[4]
Go by Example 中文: https://books.studygolang.com/gobyexample/
[5]
Introducing Go: http://shop.oreilly.com/product/0636920046516.do
[6]
Tour of Go: https://tour.golang.org/welcome/1
[7]
Hackernoon: https://hackernoon.com/basics-of-golang-for-beginners-6bd9b40d79ae
[8]
Go Bootcamp: http://www.golangbootcamp.com/
[9]
Golangbot: https://golangbot.com/learn-golang-series/
[10]
Gophercises: https://gophercises.com/
[11]
Learning Go – Miek.nl: https://miek.nl/go/
[12]
Tutorials Point: https://www.tutorialspoint.com/go/
[13]
GoLang Tutorials: http://golangtutorials.blogspot.com/2011/05/table-of-contents.html
閱讀更多 Go語言中文網 的文章