我為何學 Golang,以及我的筆記

我的 Golang 學習筆記的第 0 篇,說一下為何我要學 Golang,以及相關的學習資源。



為什麼學 Golang?

我學習 Go 語言的原因是:需要用到,覺得不學不行了。

無論是我的個人網站 huanlin.cc 還是其他場合所建立的文件網站,都是用 Hugo 搭建,而我逐漸發現需要一些強化的功能,要寫一些程式來實現才行。Hugo 是基於 Go 語言,故學習 Go 語言來自行開發文件網站的一些自訂或加強功能,應是最直截了當的選擇。這是我學習 Go 語言最主要的原因。

圖片來源:Gophers (地鼠造型的原創者為 Renee French)

至於能學到什麼程度,自己也沒把握,畢竟每個人一天都是 24 小時,生活中經常要分心去處理很多待辦事項,很難專精。而且,這個領域變化很快,明天會發生什麼事情都很難說。

About this note

由於我有一點點其他程式語言的經驗,所以學習 Golang 的時候會跳過一些基礎語法,只留意我不熟悉的部分。因此,我的筆記也會跳過許多基礎的東西,甚至有可能遺漏一些重要的觀念。


一如以往,我只是一邊學習,一邊寫點筆記罷了。


基於上述理由,我不認為我的筆記對別人能有多少幫助。也因為這個緣故,我把學習 Go 語言的相關資源整理在下一節,如果有人正好也要學習 Go,不妨優先參考那些更專業可靠的學習資源。

Learning resources

本節整理一些學習 Go 程式設計的資源,主要是網站和書籍。

Free resources

這個時代,免費資源超多,不怕沒得學,只怕難選擇。這裡只列出一些我有看的,也覺得不錯的:

TitleLevelRemark
使用 Golang 打造 Web 應用程式 by 保哥入門至實戰最後一次更新似乎是 2021 年,仍有許多入門和通用知識值得參考。
A Tour of Go入門一小塊接著一小塊的學習方式,容易消化。
Go by Example入門有許多範例,每個範例都有解說。
Learn Go with Tests入門以撰寫測試來學習 Go 語言。(我覺得是很棒的學習方式)
Effective Go進階由 Golang core team 撰寫的技術文章。


另外,我也會用一些零碎時間看 Youtube 教學影片。碰到想要更深入了解的部分,就針對特定議題來閱讀 Go 的官方文章,或者找書來讀。

Books

跟著一本書來學習的好處是比較有系統地、按步就班地學習。

以下書單,前面四本我都有買。有給分的是我對那本書的喜愛程度(滿分是 5 分),不代表看完了。

Title
Level
Description
Go in Practice, 2nd Edition中高階5著重實戰所需的知識與技術,不會詳細介紹基礎語法,例如變數如何宣告與賦值、如何寫迴圈等等,但重要的語言特性都有涵蓋,像是介面、泛型、concurrency、錯誤處理等等。後面幾章還介紹了單元測試、Web API、雲端應用程式設計等議題。
Go by Example中高階5適合 Go 語言的初學者,但必須具備其他程式語言的開發經驗。
100 Go Mistakes and How to Avoid Them中高階5Go 專業開發人員必讀。
Go in Action, 2nd Edition入門至中階3可以當作語法參考手冊,需要時再查閱。最後一章介紹單元測試。未包含 web 程式設計相關議題。
Learning Go 2nd Edition入門至進階
Let's Go入門至實戰從 Hello World 到開發 Web 應用程式。


線上課程

從缺,因為我沒有購買線上課程。

下一篇

如前面說的,我的筆記可能缺東缺西,甚至隨時停更,故還是建議優先參考其他更專業或官方的學習資源。


如果你仍想看看我後來寫了什麼東西,可由此進:Get started


Keep learning!


沒有留言:

技術提供:Blogger.
回頂端⬆️