以促進 India 的 go 編程作為 GopherConIndia 承諾的一部分。我們采訪了?40 位 Gophers(一個 Gopher 代表一個 GO 項目或是任何地方的 GO 程序員),得到了他們關于 GO 的意見蚓炬。如果你正好剛剛開始 go 編程杉畜,他們對于我們一些問題的答案可能會對你有非常有用殿遂【股粒看看這些爽冕。
應該做:
通讀?the Go standard library?和?Effective Go隙赁,為了學習 GO 的規(guī)范垦藏,Effective Go 是被高度推薦的,尤其是如果你有其他語言的背景伞访。
在?Go tour?上做練習
看完語言參考
練習?Go by Example掂骏,而不僅僅是復制粘貼!
堅持編寫 GO 代碼厚掷,在幾周內(nèi)你將會在這門語言上變得高效
理解接口的功能弟灼,他們是 GO 最大的禮物之一,可能比 channels 和 goroutines 還重要冒黑。這個關于接口的文章?article on interfaces?和 Andrew Gerrand 在 GopherCon 2014 上的 keynote?接口的描述?會對你非常有幫助田绑。
拋棄你的 OO 的思想包袱,如果你來自于其他語言抡爹,比如動態(tài)語言 Python 或是 Ruby掩驱,或者是一個編譯型語言如 Java 或 C#。GO 是一個面向對象的語言冬竟,但是它不是一個基于 class 的語言和不支持繼承昙篙。
了解繼承從 GO 語言中移除了。實踐組合的用法而不是繼承的機會顯現(xiàn)了诱咏,并且糾結于繼承只會導致你沮喪
不要以其他語言的風格編寫 GO
尋找更加有經(jīng)驗的 Gophers苔可,他們能幫助你 review 代碼片段和給你反饋。在 GO 社區(qū)能得到真正的支持和幫助
用 GO 實現(xiàn)你想法中的一個項目或是找到一個項目來工作袋狞。然后隨著你學習的更多焚辅,不斷重構你的應用。利用郵件列表和參加?Gopher Academy Slack group?來見其他的 Gophers 來得到幫助苟鸯。Dave Cheney?的博客和?GoingGo?的博客也是一個非常好的開始
不要等待泛型和函數(shù)式被添加進語言同蜻;屏住呼吸并學習愛上我們在今天擁有的這門語言
給 go 初學者分享的一些問題
對于任何人來說學習一門新語言可能都是令人挫折的。GO 社區(qū)是不可置信的活躍早处,你不是孤單的湾蔓。利用所有的文檔,博客砌梆,本地的 Meetups 和用戶組默责,比如 Slack贬循。不要害怕問問題和參與
如果你對 GO 感興趣,使用它的一側涉足桃序,或是專業(yè)的使用它杖虾,如果本地有 Go meetup,考慮參與媒熊。如果你有貨奇适,考慮去分享它
如果你有計劃旅行,并且有能力芦鳍,努力去訪問 GO 社區(qū)目的地
來訪的用戶群體是個證明這個社區(qū)有眾多的用戶嚷往,支持者和雇員的途徑
不要浪費時間去和其他語言比較,如果你喜歡 GO柠衅,就愛上他并且去使用它
接受 Go 的文化和 GO 做事情的方式间影。你的代碼會感謝你,如果你這樣做了茄茁,你會得到很多
不要沖動的引入依賴
簡單是 GO 最重要的特征。避免過分設計巩割,使用簡單的代碼片段而不是單一的龐大的代碼庫
從其他語言移植庫到 GO 是一個很好的做法裙顽,它允許你剝離他人的代碼并且以符合 GO 語言的方式粘合起來。
? ? 原文地址為:?Advise from Go developers to Go programming newbies