我,Java工程,打算轉(zhuǎn)go!
昨天我交流群里的一條發(fā)言,激起了不小的水花,一位群友最近面試 Java 方向的工作都不是很順利,于是抱著試一試的態(tài)度把 Java 方向的簡(jiǎn)歷改成了 Go 方向的,結(jié)果還挺令人吃驚的。

很多人私聊問(wèn)我,到底該不該學(xué)習(xí) Go 語(yǔ)言。直接給你答案吧,你也不信。所以,在正式回答之前,我們還是先說(shuō)說(shuō),到底怎么判斷一門(mén)語(yǔ)言是不是有前景?
左耳朵耗子之前曾經(jīng)分享過(guò)他的經(jīng)驗(yàn),看一個(gè)技術(shù)能不能火起來(lái),主要從三個(gè)角度:
有沒(méi)有雄厚的資金支持
有沒(méi)有一個(gè)活躍的社區(qū)
有沒(méi)有殺手級(jí)的應(yīng)用
這個(gè)邏輯對(duì)不對(duì),你可以用Java以及另外一門(mén)沒(méi)有火的技術(shù)來(lái)印證下。
Go 背靠 Google 公司,社區(qū)非常活躍,并且有 Docker、Kubernetes 哦這樣的殺手級(jí)應(yīng)用。現(xiàn)在,我們已經(jīng)看到,Go 是云計(jì)算時(shí)代的首選編程語(yǔ)言,并且,我還可以很確定的說(shuō):它正在成為下一個(gè)企業(yè)級(jí)編程語(yǔ)言。
值得一提的是,Go 語(yǔ)言是字節(jié)跳動(dòng)內(nèi)部使用最多的編程語(yǔ)言。為啥?因?yàn)樽止?jié)跳動(dòng)更看重效率。Go 語(yǔ)言上手簡(jiǎn)單,學(xué)習(xí)難度低。另外, Goroutine 和 Channel 這兩個(gè)神器可以很好解決并發(fā)和異步編程的問(wèn)題。它是新一代的編程語(yǔ)言。

所以,如果你的第一語(yǔ)言是 PHP 或者 Python 或者 C#,并且職位是后端工程師,那我還是建議你學(xué)學(xué) Go。不是鼓吹 Go,是我覺(jué)得這是趨勢(shì),我們不管是寫(xiě)程序,還是做其他事情,都應(yīng)該順應(yīng)時(shí)代。
雖然都說(shuō) Go 上手容易,但是想要真正的會(huì)使用 Go 語(yǔ)言進(jìn)行項(xiàng)目的編寫(xiě),就沒(méi)有那么容易了。因?yàn)榇蟛糠秩嗽趯W(xué)習(xí)和使用 Go 語(yǔ)言過(guò)程中,都遇到過(guò)這么幾個(gè)的困境:
一看就會(huì),一寫(xiě)就懵;書(shū)籍或別人的代碼基本能看懂,但自己寫(xiě)項(xiàng)目時(shí)卻不知道如何下手;
寫(xiě)出來(lái)的代碼有濃重的其他語(yǔ)言味道;
工程化實(shí)踐經(jīng)驗(yàn)為 0 ;只會(huì)基于別人的框架填代碼,不會(huì)自己進(jìn)行工程化;搬磚似乎永遠(yuǎn)沒(méi)有競(jìng)爭(zhēng)力;
說(shuō)實(shí)話,這些問(wèn)題我自己也遇到過(guò)。因?yàn)槲覀兇蠖鄶?shù)人對(duì)于 Go 的學(xué)習(xí)可能僅限于語(yǔ)法,卻不清楚它背后的設(shè)計(jì)原理,沒(méi)有親手做過(guò)項(xiàng)目。
現(xiàn)在機(jī)會(huì)來(lái)了!極客時(shí)間重磅出品的 Go 語(yǔ)言基礎(chǔ)課,3 天帶你掌握 Go 語(yǔ)言背后的設(shè)計(jì)原理及實(shí)現(xiàn)方式。
挑戰(zhàn) 3 天成為 Go 初級(jí)工程師!
如何 0 元學(xué)?
