結合自己的經歷談談怎麼更好地學習Go語言

2021-09-24 08:08:41 字數 2337 閱讀 2633

之所以會寫這篇文章,是因為在自學go語言的過程,總會有些困惑和迷茫,總希望更好地學習下去,因此有了一些想法,在這裡梳理一下,以便日後回過頭來也可以看看此時此刻的想法。

基礎,除了學習go語言的基礎外,也應該加強計算機基礎的學習。

對於go語言的基礎,很多從其他語言轉過來的人,會覺得go的基礎就是簡單的語法知識,因此沒有注重這塊知識的學習,其實,我覺得對於go語言的基礎除了基礎語法之外,還有go語言的使用規範程式設計思維csp模型等,都需要深入學習和研究。

另外乙個就是計算機基礎,這方面的基礎比較枯燥,包括資料結構演算法計算機原理計算機作業系統計算機網路等,我覺得計算機基礎知識是乙個程式設計師能走多遠的關鍵因素,沒有這些基礎知識的加持,對於go語言的學習與使用,只會停留很基礎的層面,無法入使用。

所以,基礎很枯燥,但對於基礎的學習,很有必要。

很多關於go語言的書籍內容都是千篇一律的,大概是因為這些書籍只是簡單地羅列出一些很基礎的知識,其內容跟go語言的官方文件所列出的差不多,因此,如果是剛入門的新手想學go語言的基礎,建議還是多看go語言的官方文件,特別建議看《effective go》,這裡面有官方提供的go語言最權威高效和的基礎知識與使用方式。

當然也不是說所有的書籍都不值得看,像《go程式語言》《go語言實戰》這些經典的書籍,還是應該多看看。

除了官方文件與經典書籍,我覺得一些實戰的書籍也不錯,比如掘金小冊《基於 go 語言構建企業級的 restful api 服務》,一般偏實戰的書籍或課程,我們可以學習如何應用go語言開發程式,學習go語言最重要的一點就是使用go語言的思維開發應用程式,而不用其他程式語言的思維來寫go程式。

另外乙個要說的是,英語真的很重要,很多的技術官方文件都是用英文寫的,所以需要一定的英語基礎才閱讀,很多人會說看翻譯的中文文件不就行了,對於一些中文文件,乙個是翻譯得不全,乙個是有時候也翻譯得不准,還真不如直接看英文文件。

閱讀優秀開源專案**

閱讀別人優秀的專案源**,是提公升自己寫**能力的乙個很好的方式,我們可以從那些優秀的開源專案中學到別人的**組織方式,設計模式和**分層,解決問題思路,優秀的演算法和資料結構,甚至可以學習一些**命名風格等。

尤其是從別的開發語言轉到go語言的同學,更應該多閱讀go語言的一些開源專案,因為go語言的很多設計和開發思想,跟其他程式語言真的很大的區別,所以,當我們轉到go開發時,應該學習使用go的思維去解決問題,而不是用其他程式語言的思維來使用go語言。

go語言的開源專案有很多,最有名的像大家都知道的dockerkubernetes,下面的**,是別人維護的go語言優秀開源專案列表,建議大家收藏。

awesome-go.com

多動手,維護乙個自己的開源專案

除了閱讀別人優秀的專案源**,其實,我們也可以維護乙個自己的開源專案,這樣的做好處是什麼呢?

加入技術社群

每一種程式語言或技術都屬於自己的社群或圈子,go語言也一樣有自己的社群,當然,那些英文的社群雖然有更豐富的資料和訊息,但我們可能由於自己的英文水平,而無法與外國的技術大牛溝通,那也沒關係,go語言也有一樣非常優秀的中文社群,如go語言中文網

最好的學習方式:寫作

為什麼說寫作是最好的學習方式呢?因為寫作是乙個教別人的過程,我們希望寫的東西別人能看懂,這就會逼著我們主動去學習,而主動學習是最高效的學習方式。

這裡有個概念,叫費曼技巧,講就是通過教授別人來達到主動學習的目的,而主動學習金字塔中學習效率最高的學習方式。

因此,在go語言的學習過程中,最好的學習方式還是在學習的過程,學會總結並記錄所學的知識碰到的問題。

對所學的知識進行簡單的整理,或許這樣有助於更加清晰地認識自己的學習,也能更好地調整學習方向與目標。

你的關注,是我寫作路上最大的鼓勵!

自己的經歷

從02年剛開始畢業,哪個時候什麼都不懂 對語言就是pascle c foxpro2.5 c語言還是自己學習的,大學四年有很多地方很充實,也很無奈啊。開始找工作的時候 有個要計算機老師,他是給人家培訓計算機等級考試的,當時面試可以,等上機考試,可以說什麼也不會,打字還是拼音,人家問,五筆不會嗎。我說不...

做更好的自己

不管你做那一行,看完這篇文章,理解透了,就等於你清華大學mb a畢業了。文章很長慢慢讀!海爾集團ceo 張瑞敏 演講語錄 人成熟與不成熟跟年齡沒有關係。人成熟不成熟,就是你能不能站在 對方的角度去看待事物,就是能不能把我的世界變成你的世界。這個 社會有很多的成年人,還沒有脫離幼稚的行為。一點小事情就...

談談自己的感受

在公司做事,很多事情不是自己乙個人做的,是大家一起做的。每乙個人的能力決定團隊的能力,如果你是團隊的骨幹,團隊中有那麼乙個人能力欠佳,也有乙個人比較懶惰,你該怎麼樣跟他們相處呢?我的回答是,將問題找出來丟擲來,少說多做,或者說指定乙個規則,比如今天有什麼樣的問題,發生過幾次,誰的責任?對於每乙個問題...