以促進 India 的 go 程式設計作為 GopherConIndia 承諾的一部分。我們採訪了 40 位 Gophers(一個 Gopher 代表一個 GO 專案或是任何地方的 GO 程式設計師),得到了他們關於 GO 的意見。如果你正好剛剛開始 go 程式設計,他們對於我們一些問題的答案可能會對你有非常有用。看看這些。
應該做:
- 通讀 the Go standard library 和 Effective Go,為了學習 GO 的規範,Effective Go 是被高度推薦的,尤其是如果你有其他語言的背景。
- 在 Go tour 上做練習
- 看完語言參考
- 練習 Go by Example,而不僅僅是複製貼上!
- 堅持編寫 GO 程式碼,在幾周內你將會在這門語言上變得高效
- 理解介面的功能,他們是 GO 最大的禮物之一,可能比 channels 和 goroutines 還重要。這個關於介面的文章 article on interfaces 和 Andrew Gerrand 在 GopherCon 2014 上的 keynote 介面的描述 會對你非常有幫助。
- 拋棄你的 OO 的思想包袱,如果你來自於其他語言,比如動態語言 Python 或是 Ruby,或者是一個編譯型語言如 Java 或 C#。GO 是一個物件導向的語言,但是它不是一個基於 class 的語言和不支援繼承。
- 瞭解繼承從 GO 語言中移除了。實踐組合的用法而不是繼承的機會顯現了,並且糾結於繼承只會導致你沮喪
- 不要以其他語言的風格編寫 GO
- 尋找更加有經驗的 Gophers,他們能幫助你 review 程式碼片段和給你反饋。在 GO 社群能得到真正的支援和幫助
- 用 GO 實現你想法中的一個專案或是找到一個專案來工作。然後隨著你學習的更多,不斷重構你的應用。利用郵件列表和參加 Gopher Academy Slack group 來見其他的 Gophers 來得到幫助。Dave Cheney 的部落格和 GoingGo 的部落格也是一個非常好的開始
- 不要等待泛型和函式式被新增進語言;屏住呼吸並學習愛上我們在今天擁有的這門語言
給 go 初學者分享的一些問題
- 對於任何人來說學習一門新語言可能都是令人挫折的。GO 社群是不可置信的活躍,你不是孤單的。利用所有的文件,部落格,本地的 Meetups 和使用者組,比如 Slack。不要害怕問問題和參與
- 如果你對 GO 感興趣,使用它的一側涉足,或是專業的使用它,如果本地有 Go meetup,考慮參與。如果你有貨,考慮去分享它
- 如果你有計劃旅行,並且有能力,努力去訪問 GO 社群目的地
- 來訪的使用者群體是個證明這個社群有眾多的使用者,支持者和僱員的途徑
- 不要浪費時間去和其他語言比較,如果你喜歡 GO,就愛上他並且去使用它
- 接受 Go 的文化和 GO 做事情的方式。你的程式碼會感謝你,如果你這樣做了,你會得到很多
- 不要衝動的引入依賴
- 簡單是 GO 最重要的特徵。避免過分設計,使用簡單的程式碼片段而不是單一的龐大的程式碼庫
- 從其他語言移植庫到 GO 是一個很好的做法,它允許你剝離他人的程式碼並且以符合 GO 語言的方式粘合起來。
原文地址為: Advise from Go developers to Go programming newbies