這是我在 GopherCon2018 拿到的吉祥物。說實話,論萌,Go語言社群萌得過分了。
Gopher 在英文中是土撥鼠,Go語言的吉祥物恰好就是個土撥鼠。然後詞中也有“Go”,感覺很精妙。全世界的土撥鼠團結起來,你覺得可以打敗兩條大蛇嗎?
Go 語言隨想
全職使用 Go 語言是從 2018 年中開始的。
每個語言都不其擅長與不擅長的。雖然都是通用語言,也就是說,各種任何都可以辦到。但是在軟體工程中,“辦得到”是個基本要求,“容易辦”和“辦得好”才是重點。
所以,一般我在討論說哪個語言好或者不好,並不是說這個語言在所有情況下都好。甚至不是說在大多數情況下好。一個語言只是一個工具。這個工具能夠將你所專注的那個問題解決得很好,就很圓滿了。
Go 語言被創造之初就是為了來寫伺服器、雲、後端這種門類的軟體的。所以它註定會在併發、記憶體效率、build 和部署上相比很多語言略勝一籌。(我這裡就不說哪些語言在這方面不太行了吧)
但是反之、它可能就在超程式設計、對複雜業務邏輯進行建模(OO?)上面稍遜風騷。
這兩點幾乎是沒有爭議的。
只是,作為一個後端工程師來說,我個人願意用一定的語言特性缺失去換取系統的整體表現。因為 Go 所缺少的特性通常不是我所需要的,Go 表現出色的特性卻正是我所需要的。這都是一個取捨問題。
所以,同學們在選擇用哪個語言來書寫專案時,要先考慮專案本身的特性和要求,再選擇工具。而不是反著來。如果一個工程師因為只會 Python,所以就什麼都用 Python 做,這難道不是一個愚蠢的行為嗎?當然,如果因為時間確實太緊了,沒有時間去做技術調查和學習,那也是不得已而為之。可是,一個優秀的工程師需要全力以赴地避免“不得已而為之”的情況。
Go 語言教程
從第一天起我就慢慢地在蒐集整理 Go 語言的學習資料,也在自己製作。
一開始我還是以視訊為主,但是有同學提意見說能不能有文字資料。我覺得很有必要。不過,手把手的教程我還是會主要用視訊來做。而文章會專門選一些話題或者問題來探討。
目前還沒有任何文章,不過你要是有任何疑問,歡迎留言。我會盡量回答的。
教程連結
B站:
space.bilibili.com/16696495/ch…