掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
本文轉(zhuǎn)載自微信公眾號(hào)「腦子進(jìn)煎魚(yú)了」,作者陳煎魚(yú)。轉(zhuǎn)載本文請(qǐng)聯(lián)系腦子進(jìn)煎魚(yú)了公眾號(hào)。

不說(shuō)不知道,一說(shuō)下一跳。Go 語(yǔ)言已經(jīng)開(kāi)源 11 周年了,感覺(jué)是一路高歌,Release History (polarisxu 整理)如下:
目視現(xiàn)在
現(xiàn)在的 Go 語(yǔ)言在國(guó)內(nèi)已經(jīng)掀起了一浪又一浪的熱潮,炒的非?;馃?。各大平臺(tái)極客時(shí)間、拉勾教育、掘金小冊(cè)、慕課網(wǎng)等紛紛出現(xiàn)了大量 Go 語(yǔ)言相關(guān)的付費(fèi)專(zhuān)欄/視頻。
在現(xiàn)實(shí)工作層面,字節(jié)跳動(dòng)、騰訊向 Go 語(yǔ)言側(cè)偏,以及其它各大一二線(xiàn)廠(chǎng)均出現(xiàn)了不少 Go 的崗位,也正預(yù)示著當(dāng)前已經(jīng)到了一個(gè)比較好風(fēng)口。
在開(kāi)源項(xiàng)目層面,Kubernetes、Etcd、Prometheus、Docker 等大量的云原生相關(guān)組件均以 Go 語(yǔ)言開(kāi)發(fā),懂一門(mén) Go 語(yǔ)言,排查問(wèn)題也更方便了。
與企業(yè)開(kāi)發(fā)層面,出現(xiàn)了大量其他語(yǔ)言的開(kāi)發(fā)者向 Go 語(yǔ)言轉(zhuǎn)型,在企業(yè)的軟件開(kāi)發(fā)中出現(xiàn),新項(xiàng)目用 Go 語(yǔ)言,老項(xiàng)目保留,形成同時(shí)維護(hù)新老系統(tǒng),再漸遷的絞殺者模式:
絞殺者模式
在面試中比較常見(jiàn)的是 PHP、C++ 語(yǔ)言,就會(huì)在企業(yè)中形成了 Go+PHP(新+老系統(tǒng))的局面,又或是 Go 調(diào) CGO 的運(yùn)行模式。這也得益于 Go 語(yǔ)言的易用性和一定的膠水特性。
在培訓(xùn)機(jī)構(gòu)層面,各大機(jī)構(gòu)都多少曾經(jīng)向 Go 語(yǔ)言發(fā)起過(guò)進(jìn)攻,但目前 Go 語(yǔ)言大多以中高級(jí)人才為主,也就是有過(guò)其他語(yǔ)言經(jīng)驗(yàn)的軟件開(kāi)發(fā)從業(yè)者為主。因此培訓(xùn)機(jī)構(gòu)的市場(chǎng)行情相對(duì)較差。
在社會(huì)招聘和崗位層面,狹義上來(lái)看,與 2018 年我寫(xiě)的 《帶你了解一下Golang的市場(chǎng)行情》基本情況仍保持一致:
2018 年市場(chǎng)行情分析
以下為 GoCN 所收集的 “2020 中國(guó)Go 開(kāi)發(fā)者調(diào)查報(bào)告” 的地域分布:
2020 中國(guó)Go 開(kāi)發(fā)者調(diào)查報(bào)告
Go 語(yǔ)言的大熱門(mén)地區(qū)依然是:北京、上海、深圳,主體集中在一線(xiàn)城市,機(jī)會(huì)這里最多。
看看數(shù)據(jù):TIOBE
從 TIOBE 的編程語(yǔ)言排行榜來(lái)看,整體上 Go 語(yǔ)言的熱門(mén)程度并不會(huì)特別高(與老牌語(yǔ)言相比),但作為一門(mén)編程語(yǔ)言在短短 11 年內(nèi)已有很不錯(cuò)的表現(xiàn):
TIOBE 排行榜
同時(shí)業(yè)內(nèi)時(shí)常說(shuō) Go 語(yǔ)言要干掉 PHP、C++、Java 等,目前來(lái)看短期內(nèi)不現(xiàn)實(shí),官方也沒(méi)有這方面打算,因?yàn)楹线m的場(chǎng)景選擇合適的語(yǔ)言就好了。
TIOBE 提示本月的排名在第 13 名,且最高排名出現(xiàn)在 2020 年 5 月,在第 10 名,近期基本穩(wěn)定在這個(gè)位數(shù)附近,至少近年是干不掉老大哥們的。
展望未來(lái)
Go1 目前一如既往的遵守了 Go1 兼容性承諾,這給不少正在使用 Go 語(yǔ)言的企業(yè)帶來(lái)了一注強(qiáng)心針。但給 Go 語(yǔ)言也帶來(lái)了一些 “麻煩”。那就是存在破壞性變更的變動(dòng)無(wú)法在 Go1 中實(shí)現(xiàn)。
因此為了解決一些 ”問(wèn)題“,也想達(dá)到更好的特性目標(biāo)。2018 年時(shí)釋出了 Go2 的計(jì)劃,詳細(xì)可參見(jiàn)Go 2, here we come!,其中包含了大量的功能特性。
從目前的基本論調(diào)和實(shí)際情況來(lái)看,可兼容實(shí)現(xiàn)的,都會(huì)在 Go1 實(shí)現(xiàn),例如大家最期待的功能之一 ”泛型“,預(yù)計(jì)最早會(huì)在 Go1.17 會(huì)釋出,樣例:
- // Print prints the elements of any slice.
- // Print has a type parameter T and has a single (non-type)
- // parameter s which is a slice of that type parameter.
- func Print[T any](s []T) {
- // same as above
- }
其在 6 月下旬發(fā)布了最新的設(shè)計(jì)草稿,若對(duì)泛型有更進(jìn)一步需求可關(guān)注 design/go2draft-type-parameters,而一些不兼容的修改,若確切評(píng)估后無(wú)法直接實(shí)現(xiàn)的,將會(huì)到 Go2 的 計(jì)劃中去:
Milestones
相信 Go2 發(fā)布時(shí),肯定也不是 go run xxx 了,估計(jì)會(huì)變更命令集,以示區(qū)分。
總結(jié)
11 歲,Go 語(yǔ)言目前在國(guó)內(nèi)已經(jīng)火起來(lái)了,最近接觸的一個(gè)運(yùn)營(yíng)大佬稱(chēng) Go 語(yǔ)言為 “準(zhǔn)備霸占未來(lái)語(yǔ)言半壁江山” 的語(yǔ)言。還在觀(guān)望的讀者可以考慮下手,吃一波紅利。
但現(xiàn)階段的 ”成功“ 并不代表后續(xù)一定持續(xù)強(qiáng)勁,背后離不開(kāi)所有開(kāi)發(fā)者在社區(qū)開(kāi)源的努力。
TIOBE Index
我們一起思考兩個(gè)問(wèn)題:
你的答案是什么?在評(píng)論區(qū)告訴大家吧!

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流