Go 語言開發一年的隨想

哲的王發表於2019-02-24

Go 語言開發一年的隨想

這是我在 GopherCon2018 拿到的吉祥物。說實話,論萌,Go語言社群萌得過分了。

Gopher 在英文中是土撥鼠,Go語言的吉祥物恰好就是個土撥鼠。然後詞中也有“Go”,感覺很精妙。全世界的土撥鼠團結起來,你覺得可以打敗兩條大蛇嗎?


Go 語言隨想

全職使用 Go 語言是從 2018 年中開始的。

每個語言都不其擅長與不擅長的。雖然都是通用語言,也就是說,各種任何都可以辦到。但是在軟體工程中,“辦得到”是個基本要求,“容易辦”和“辦得好”才是重點。

所以,一般我在討論說哪個語言好或者不好,並不是說這個語言在所有情況下都好。甚至不是說在大多數情況下好。一個語言只是一個工具。這個工具能夠將你所專注的那個問題解決得很好,就很圓滿了。

Go 語言被創造之初就是為了來寫伺服器、雲、後端這種門類的軟體的。所以它註定會在併發、記憶體效率、build 和部署上相比很多語言略勝一籌。(我這裡就不說哪些語言在這方面不太行了吧)

但是反之、它可能就在超程式設計、對複雜業務邏輯進行建模(OO?)上面稍遜風騷。

這兩點幾乎是沒有爭議的。

只是,作為一個後端工程師來說,我個人願意用一定的語言特性缺失去換取系統的整體表現。因為 Go 所缺少的特性通常不是我所需要的,Go 表現出色的特性卻正是我所需要的。這都是一個取捨問題。

所以,同學們在選擇用哪個語言來書寫專案時,要先考慮專案本身的特性和要求,再選擇工具。而不是反著來。如果一個工程師因為只會 Python,所以就什麼都用 Python 做,這難道不是一個愚蠢的行為嗎?當然,如果因為時間確實太緊了,沒有時間去做技術調查和學習,那也是不得已而為之。可是,一個優秀的工程師需要全力以赴地避免“不得已而為之”的情況。

Go 語言教程

從第一天起我就慢慢地在蒐集整理 Go 語言的學習資料,也在自己製作。

一開始我還是以視訊為主,但是有同學提意見說能不能有文字資料。我覺得很有必要。不過,手把手的教程我還是會主要用視訊來做。而文章會專門選一些話題或者問題來探討。

目前還沒有任何文章,不過你要是有任何疑問,歡迎留言。我會盡量回答的。

教程連結

B站:

space.bilibili.com/16696495/ch…

油管:

www.youtube.com/playlist?li…


關注我在其他平臺的動態

GitHub:

github.com/CreatCodeBu…

微信公眾號:

Go 語言開發一年的隨想

B站:

space.bilibili.com/16696495

油管:

www.youtube.com/channel/UCH…

相關文章