坦白的講,在一幫python用戶(hù)面前講為什么放棄python轉(zhuǎn)而用go其實(shí)是一件壓力蠻大的事情,語(yǔ)言之爭(zhēng)就跟vim和emacs之爭(zhēng)一樣,是
成都創(chuàng)新互聯(lián)公司專(zhuān)注于東明網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供東明營(yíng)銷(xiāo)型網(wǎng)站建設(shè),東明網(wǎng)站制作、東明網(wǎng)頁(yè)設(shè)計(jì)、東明網(wǎng)站官網(wǎng)定制、成都小程序開(kāi)發(fā)服務(wù),打造東明網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供東明網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
一個(gè)永恒的無(wú)解話題,稍微不注意就可能導(dǎo)致粉絲強(qiáng)烈地反擊。所以我只會(huì)從我們項(xiàng)目實(shí)際情況出發(fā),來(lái)講講為什么我最終選擇了go。
為什么放棄python
首先,我其實(shí)得說(shuō)說(shuō)為什么我們會(huì)選擇python。在我加入企業(yè)快盤(pán)團(tuán)隊(duì)之前,整個(gè)項(xiàng)目包括更早的金山快盤(pán)都是采用python進(jìn)行開(kāi)發(fā)的。至于為
什么這么選擇,當(dāng)時(shí)的架構(gòu)師蔥頭告訴我,主要是因?yàn)閜ython上手簡(jiǎn)單,開(kāi)發(fā)迅速。對(duì)于團(tuán)隊(duì)里面大部分完全沒(méi)服務(wù)端開(kāi)發(fā)經(jīng)驗(yàn)的同學(xué)來(lái)說(shuō),python真
的是一個(gè)很好的選擇。
python的簡(jiǎn)單高效,我是深有體會(huì)的。當(dāng)時(shí)私有云項(xiàng)目也就幾個(gè)程序員,但是我們要服務(wù)多家大型企業(yè),進(jìn)行定制化的開(kāi)發(fā),多虧了python,我們才能快速出活。后來(lái)企業(yè)快盤(pán)掛掉之后,我們啟動(dòng)輕辦公項(xiàng)目,自然也使用python進(jìn)行了原始版本的構(gòu)建。
python雖然很強(qiáng)大,但我們?cè)谑褂玫臅r(shí)候也碰到了一些問(wèn)題,主要由如下幾個(gè)方面:
動(dòng)態(tài)語(yǔ)言
python是一門(mén)動(dòng)態(tài)強(qiáng)類(lèi)型語(yǔ)言。但是,仍然可能出現(xiàn)int + string這樣的運(yùn)行時(shí)錯(cuò)誤,因?yàn)閷?duì)于一個(gè)變量,在寫(xiě)代碼的時(shí)候,我們有時(shí)候很容易就忘記這個(gè)變量到底是啥類(lèi)型的了。
在python里面,可以允許同名函數(shù)的出現(xiàn),后一個(gè)函數(shù)會(huì)覆蓋前一個(gè)函數(shù),有一次我們系統(tǒng)一個(gè)很?chē)?yán)重的錯(cuò)誤就是因?yàn)檫@個(gè)導(dǎo)致的。
上面說(shuō)到的這些,靜態(tài)語(yǔ)言在編譯的時(shí)候就能幫我們檢測(cè)出來(lái),而不需要等到運(yùn)行時(shí)出問(wèn)題才知道。雖然我們有很完善的測(cè)試用例,但總有case遺漏的情況。所以每次出現(xiàn)運(yùn)行時(shí)錯(cuò)誤,我心里都想著如果能在編譯的時(shí)候就發(fā)現(xiàn)該多好。
性能
其實(shí)這個(gè)一直是很多人吐槽python的地方,但python有它適合干的事情,硬是要用python進(jìn)行一些高性能模塊的開(kāi)發(fā),那也有點(diǎn)難為它了。
python的GIL導(dǎo)致無(wú)法真正的多線程,大家可能會(huì)說(shuō)我用多進(jìn)程不就完了。但如果一些計(jì)算需要涉及到多進(jìn)程交互,進(jìn)程之間的通訊開(kāi)銷(xiāo)也是不得不考慮的。
無(wú)狀態(tài)的分布式處理使用多進(jìn)程很方便,譬如處理http請(qǐng)求,我們就是在nginx后面掛載了200多個(gè)django server來(lái)處理http的,但這么多個(gè)進(jìn)程自然導(dǎo)致整體機(jī)器負(fù)載偏高。
但即使我們使用了多個(gè)django進(jìn)程來(lái)處理http請(qǐng)求,對(duì)于一些超大量請(qǐng)求,python仍然處理不過(guò)來(lái)。所以我們使用openresty,將高頻次的http請(qǐng)求使用lua來(lái)實(shí)現(xiàn)??蛇@樣又導(dǎo)致使用兩種開(kāi)發(fā)語(yǔ)言,而且一些邏輯還得寫(xiě)兩份不同的代碼。
同步網(wǎng)絡(luò)模型
django的網(wǎng)絡(luò)是同步阻塞的,也就是說(shuō),如果我們需要訪問(wèn)外部的一個(gè)服務(wù),在等待結(jié)果返回這段時(shí)間,django不能處理任何其他的邏輯(當(dāng)然,多線程的除外)。如果訪問(wèn)外部服務(wù)需要很長(zhǎng)時(shí)間,那就意味著我們的整個(gè)服務(wù)幾乎在很長(zhǎng)一段時(shí)間完全不可用。
為了解決這個(gè)問(wèn)題,我們只能不斷的多開(kāi)django進(jìn)程,同時(shí)需要保證所有服務(wù)都能快速的處理響應(yīng),但想想這其實(shí)是一件很不靠譜的事情。
異步網(wǎng)絡(luò)模型
tornado的網(wǎng)絡(luò)模型是異步的,這意味著它不會(huì)出現(xiàn)django那樣因?yàn)橥獠糠?wù)不可用導(dǎo)致這個(gè)服務(wù)無(wú)法響應(yīng)的問(wèn)題。話說(shuō),比起django,我可是非常喜歡tornado的,小巧簡(jiǎn)單,以前還寫(xiě)過(guò)幾篇深入剖析tornado的文章了。
雖然tornado是異步的,但是python的mysql庫(kù)都不支持異步,這也就意味著如果我們?cè)趖ornado里面訪問(wèn)數(shù)據(jù)庫(kù),我們?nèi)匀豢赡苊媾R因?yàn)閿?shù)據(jù)庫(kù)問(wèn)題造成的整個(gè)服務(wù)不可用。
其實(shí)異步模型最大的問(wèn)題在于代碼邏輯的割裂,因?yàn)槭鞘录|發(fā)的,所以我們都是通過(guò)callback進(jìn)行相關(guān)處理,于是代碼里面就經(jīng)常出現(xiàn)干一件事情,傳一個(gè)callback,然后callback里面又傳callback的情況,這樣的結(jié)果就是整個(gè)代碼邏輯非?;靵y。
python沒(méi)有原生的協(xié)程支持,雖然可以通過(guò)gevent,greenlet這種的上patch方式來(lái)支持協(xié)程,但畢竟更改了python源碼。另
外,python的yield也可以進(jìn)行簡(jiǎn)單的協(xié)程模擬,但畢竟不能跨堆棧,局限性很大,不知道3.x的版本有沒(méi)有改進(jìn)。
開(kāi)發(fā)運(yùn)維部署
當(dāng)我第一次使用python開(kāi)發(fā)項(xiàng)目,我是沒(méi)成功安裝上項(xiàng)目需要的包的,光安裝成功mysql庫(kù)就弄了很久。后來(lái),是一位同事將他整個(gè)python目錄打包給我用,我才能正常的將項(xiàng)目跑起來(lái)。話說(shuō),現(xiàn)在有了docker,是多么讓人幸福的一件事情。
而部署python服務(wù)的時(shí)候,我們需要在服務(wù)器上面安裝一堆的包,光是這一點(diǎn)就讓人很麻煩,雖然可以通過(guò)puppet,salt這些自動(dòng)化工具解決部署問(wèn)題,但相比而言,靜態(tài)編譯語(yǔ)言只用扔一個(gè)二進(jìn)制文件,可就方便太多了。
代碼失控
python非常靈活簡(jiǎn)單,寫(xiě)c幾十行代碼才能搞定的功能,python一行代碼沒(méi)準(zhǔn)就能解決。但是太簡(jiǎn)單,反而導(dǎo)致很多同學(xué)無(wú)法對(duì)代碼進(jìn)行深層次的思
考,對(duì)整個(gè)架構(gòu)進(jìn)行細(xì)致的考量。來(lái)了一個(gè)需求,啪啪啪,鍵盤(pán)敲完開(kāi)速實(shí)現(xiàn),結(jié)果就是代碼越來(lái)越混亂,最終導(dǎo)致了整個(gè)項(xiàng)目代碼失控。
雖然這也有我們自身的原因,譬如沒(méi)好的代碼review機(jī)制,沒(méi)有好的項(xiàng)目規(guī)范,但個(gè)人感覺(jué),如果一個(gè)程序員沒(méi)經(jīng)過(guò)良好的編碼訓(xùn)練,用python很容易就寫(xiě)出爛的代碼,因?yàn)樘杂闪恕?/p>
當(dāng)然,我這里并不是說(shuō)用python無(wú)法進(jìn)行大型項(xiàng)目的開(kāi)發(fā),豆瓣,dropbox都是很好的例子,只是在我們項(xiàng)目中,我們的python代碼失控了。
上面提到的都是我們?cè)趯?shí)際項(xiàng)目中使用python遇到的問(wèn)題,雖然最終都解決了,但是讓我愈發(fā)的覺(jué)得,隨著項(xiàng)目復(fù)雜度的增大,流量性能壓力的增大,python并不是一個(gè)很好的選擇。
為什么選擇go
說(shuō)完了python,現(xiàn)在來(lái)說(shuō)說(shuō)為什么我們選擇go。其實(shí)除了python,我們也有其他的選擇,java,php,lua(openresty),但最終我們選擇了go。
雖然java和php都是最好的編程語(yǔ)言(大家都這么爭(zhēng)的),但我更傾向一門(mén)更簡(jiǎn)單的語(yǔ)言。而openresty,雖然性能強(qiáng)悍,但lua仍然是動(dòng)
態(tài)語(yǔ)言,也會(huì)碰到前面說(shuō)的動(dòng)態(tài)語(yǔ)言一些問(wèn)題。最后,前金山許式偉用的go,前快盤(pán)架構(gòu)師蔥頭也用的go,所以我們很自然地選擇了go。
go并不是完美,一堆值得我們吐槽的地方。
error,好吧,如果有語(yǔ)言潔癖的同學(xué)可能真的受不了go的語(yǔ)法,尤其是約定的最后一個(gè)返回值是error。項(xiàng)目里面經(jīng)常會(huì)充斥這樣的代碼:
if _, err := w.Write(data1); err != nil {
returun err
}
if _, err := w.Write(data2); err != nil {
returun err
}
難怪有個(gè)梗是對(duì)于一個(gè)需求,java的程序員在寫(xiě)配置的時(shí)候,go程序員已經(jīng)寫(xiě)了大部分代碼,但是當(dāng)java的程序員寫(xiě)完的時(shí)候,go程序員還在寫(xiě)err != nil。
這方面,errors-are-values倒是推薦了一個(gè)不錯(cuò)的解決方案。
包管理,go的包管理太弱了,只有一個(gè)go
get,也就是如果不小心更新了一個(gè)外部庫(kù),很有可能就導(dǎo)致現(xiàn)有的代碼編譯不過(guò)了。雖然已經(jīng)有很多開(kāi)源方案,譬如godep以及現(xiàn)在才出來(lái)的gb等,但畢
竟不是官方的。貌似google也是通過(guò)vendor機(jī)制來(lái)管理第三方庫(kù)的。希望go 1.5或者之后的版本能好好處理下這個(gè)問(wèn)題。
GC,java的GC發(fā)展20年了,go才這么點(diǎn)時(shí)間,gc鐵定不完善。所以我們?nèi)匀徊荒茈S心所欲的寫(xiě)代碼,不然在大請(qǐng)求量下面gc可能會(huì)卡頓整個(gè)服務(wù)。所以有時(shí)候,該用對(duì)象池,內(nèi)存池的一定要用,雖然代碼丑了點(diǎn),但好歹性能上去了。
泛型,雖然go有inteface,但泛型的缺失會(huì)讓我們?cè)趯?shí)現(xiàn)一個(gè)功能的時(shí)候?qū)懘罅康闹貜?fù)代碼,譬如int32和int64類(lèi)型的sort,我們
得為分別寫(xiě)兩套代碼,好冗余。go 1.4之后有了go
generate的支持,但這種的仍然需要自己根據(jù)go的AST庫(kù)來(lái)手動(dòng)寫(xiě)相關(guān)的parser,難度也挺大的。雖然也有很多開(kāi)源的generate實(shí)現(xiàn),
但畢竟不是官方的。
當(dāng)然還有很多值得吐槽的地方,就不一一列舉了,但是go仍舊有它的優(yōu)勢(shì)。
靜態(tài)語(yǔ)言,強(qiáng)類(lèi)型。靜態(tài)編譯能幫我們檢查出來(lái)大量的錯(cuò)誤,go的強(qiáng)類(lèi)型甚至變態(tài)到不支持隱式的類(lèi)型轉(zhuǎn)換。雖然寫(xiě)代碼感覺(jué)很別扭,但減少了犯錯(cuò)的可能。
gofmt,應(yīng)該這是我知道的第一個(gè)官方提供統(tǒng)一格式化代碼工具的語(yǔ)言了。有了gofmt,大家的代碼長(zhǎng)一個(gè)樣了,也就沒(méi)有花括號(hào)到底放到結(jié)尾還是新開(kāi)一行這種蛋疼的代碼風(fēng)格討論了。因?yàn)榇蠹业拇a風(fēng)格一樣,所以看go的代碼很容易。
天生的并行支持,因?yàn)間oroutine以及channel,用go寫(xiě)分布式應(yīng)用,寫(xiě)并發(fā)程序異常的容易。沒(méi)有了蛋疼的callback導(dǎo)致的代碼邏輯割裂,代碼邏輯都是順序的。
性能,go的性能可能趕不上c,c++以及openresty,但真的也挺強(qiáng)悍的。在我們的項(xiàng)目中,現(xiàn)在單機(jī)就部署了一個(gè)go的進(jìn)程,就完全能夠勝任以前200個(gè)python進(jìn)程干的事情,而且CPU和MEM占用更低。
運(yùn)維部署,直接編譯成二進(jìn)制,扔到服務(wù)器上面就成,比python需要安裝一堆的環(huán)境那是簡(jiǎn)單的太多了。當(dāng)然,如果有cgo,我們也需要將對(duì)應(yīng)的動(dòng)態(tài)庫(kù)給扔過(guò)去。
開(kāi)發(fā)效率,雖然go是靜態(tài)語(yǔ)言,但我個(gè)人感覺(jué)開(kāi)發(fā)效率真的挺高,直覺(jué)上面跟python不相上下。對(duì)于我個(gè)人來(lái)說(shuō),最好的例子就是我用go快速開(kāi)
發(fā)了非常多的開(kāi)源組件,譬如ledisdb,go-mysql等,而這些最開(kāi)始的版本都是在很短的時(shí)間里面完成的。對(duì)于我們項(xiàng)目來(lái)說(shuō),我們也是用go在一
個(gè)月就重構(gòu)完成了第一個(gè)版本,并發(fā)布。
目前在國(guó)內(nèi)是無(wú)法登錄Dropbox,需要借助代理訪問(wèn)??梢赃x擇類(lèi)似Dropbox的軟件
在功能上 和Dropbox比較類(lèi)似的是堅(jiān)果云。
同步功能
當(dāng)你手機(jī)拍攝了照片想存到電腦里要怎么做?
傳統(tǒng)點(diǎn)就是手機(jī)用數(shù)據(jù)線連接電腦,找到照片復(fù)制到電腦。
有點(diǎn)科技感的可能是把手機(jī)用微信文件傳輸助手發(fā)到電腦上,電腦上另存為??瓷先o(wú)線了,但是其中還有點(diǎn)開(kāi)電腦微信、掃碼登錄、另存為選擇路徑等步驟。
體驗(yàn)最好的操作是打開(kāi)堅(jiān)果云App,上傳照片,手機(jī)上傳成功的那一刻電腦端彈出提示,IMG.XXX已經(jīng)同步完成。照片已經(jīng)在電腦里了。
這就是同步功能,一個(gè)設(shè)備文件變動(dòng),多個(gè)設(shè)備同步變動(dòng)。
2.歷史版本
對(duì)于很多設(shè)計(jì)師、文案等職業(yè)來(lái)說(shuō),工作文件是不可能一稿過(guò)的,領(lǐng)導(dǎo)必然有各種修改意見(jiàn)。
每次辛苦修改完還要另存為重新加上版本號(hào),最后完稿的文件才10MB,背后的歷史版本達(dá)到幾百M(fèi)B??删退闶峭瓿闪?,這些歷史版本也不敢刪,誰(shuí)知道明天老板想什么?
如果你用堅(jiān)果云同步這份文件,你的每次保存堅(jiān)果云都會(huì)自動(dòng)同步,同時(shí),將之前的版本保存在云端,支持下載任一版本和比較版本。歷史版本不限制數(shù)量,保存一定時(shí)間內(nèi)所有的歷史版本。你盡管修改。
3.增量同步
Dropbox Professional版本才有的功能,他們叫智能同步。堅(jiān)果云無(wú)論付費(fèi)免費(fèi),所有用戶(hù)都可以使用。
增量同步通能就是,假如你Word文件大小為10MB,已同步到堅(jiān)果云。你打開(kāi)Word修改了一個(gè)字。一般網(wǎng)盤(pán)軟件因?yàn)槲募兓藭?huì)將這10MB的文件重新完整上傳,增量同步則是只上傳因?yàn)樾薷倪@一個(gè)字而發(fā)生變動(dòng)的數(shù)據(jù),可能也就幾KB吧。
如果你想進(jìn)入軟件和互聯(lián)網(wǎng)行業(yè), 恭喜, 這是個(gè)好行業(yè), 薪水很高, 也不需靠關(guān)系, 一切靠實(shí)力說(shuō)話
目前對(duì)吃香的IT 行業(yè)top榜給你參考一下:
1、Java開(kāi)發(fā)
隨著現(xiàn)代經(jīng)濟(jì)和科技的發(fā)展,中國(guó)Java編程開(kāi)發(fā)語(yǔ)言行業(yè)已經(jīng)步入了一個(gè)高速發(fā)展的時(shí)代。
大家有目共睹了Java編程語(yǔ)言發(fā)展的迅猛,每年的Java人才缺口人數(shù)都高達(dá)百萬(wàn)以上,而且隨著行業(yè)發(fā)展,Java技術(shù)服務(wù)市場(chǎng)需求空缺會(huì)越來(lái)越大。精通Java技術(shù),將擁有更多的就業(yè)選擇。
2、python
python的發(fā)展可以用飛速來(lái)形容了,目前業(yè)內(nèi)幾乎所有大中型互聯(lián)網(wǎng)企業(yè)都在使用Python,如:Youtube、Dropbox、BT、Quora(中國(guó)知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車(chē)之家、美團(tuán)等。
政府報(bào)告中多次提及到的人工智能,就是用Python語(yǔ)言編寫(xiě)的。目前,浙江、北京以及另外幾個(gè)省市已經(jīng)確定將把Python編程基礎(chǔ)納入信息技術(shù)的課程。
python有哪些優(yōu)勢(shì)呢?
簡(jiǎn)單易學(xué)、高層語(yǔ)言、免費(fèi)開(kāi)源、可移植性強(qiáng)、豐富的庫(kù)、面向?qū)ο蟆⒖蓴U(kuò)展性、可嵌入型、規(guī)范的代碼等,這些都是Python的優(yōu)勢(shì)所在。
Python是解釋語(yǔ)言,程序?qū)懫饋?lái)非常方便,而且開(kāi)發(fā)生態(tài)成熟,有很多現(xiàn)有庫(kù)可以用。
3、大數(shù)據(jù)
經(jīng)過(guò)六年沉淀,中國(guó)的大數(shù)據(jù)行業(yè)也迎來(lái)了新的發(fā)展期,勢(shì)頭迅猛。幾乎所有人的生活和工作都離不開(kāi)大數(shù)據(jù)。
4、人工智能
隨著5G時(shí)代的到來(lái),人工智能正逐步滲透進(jìn)人們生活的方方面面,人工智能已經(jīng)成為對(duì)人類(lèi)生活方式產(chǎn)生最大影響的行業(yè),也是各企業(yè)爭(zhēng)搶的熱點(diǎn)。
大方向上來(lái)說(shuō),目前人工智能已經(jīng)在各行各業(yè)得到了廣泛的應(yīng)用,從硬件到軟件,部分成型的產(chǎn)品已經(jīng)面世;未來(lái)還將逐漸滲透到工作、學(xué)習(xí)和生活中的每一個(gè)場(chǎng)景。人工智能將改變商業(yè)格局,人工智能專(zhuān)業(yè)人員預(yù)計(jì)將獲得 30 萬(wàn)至 50 萬(wàn)美元的薪水。
5、HTML5大前端
游戲化、場(chǎng)景化、跨屏互動(dòng)HTML5技術(shù)滿(mǎn)足了廣告主對(duì)移動(dòng)營(yíng)銷(xiāo)的大部分需求,從形式到功用、到傳播。
6、網(wǎng)絡(luò)安全
隨著信息化的快速發(fā)展,網(wǎng)絡(luò)/信息安全問(wèn)題更加突出,對(duì)網(wǎng)絡(luò)/信息安全人才建設(shè)不斷提出新的要求,再加上近幾年國(guó)家對(duì)網(wǎng)絡(luò)安全問(wèn)題的重視,網(wǎng)絡(luò)安全/信息安全專(zhuān)業(yè)就業(yè)前景非常廣闊。
7、Unity游戲開(kāi)發(fā)
作為專(zhuān)業(yè)游戲引擎,Unity游戲開(kāi)發(fā)技術(shù)在近幾年網(wǎng)絡(luò)游戲大熱的環(huán)境下,大受歡迎。
8、云計(jì)算
目前,云服務(wù)器正在全球范圍內(nèi)逐步取代傳統(tǒng)服務(wù)器,云計(jì)算和云服務(wù)器的發(fā)展也使中國(guó)成為全球服務(wù)器大國(guó)。
9、全鏈路UI/UE設(shè)計(jì)
隨著人們對(duì)互聯(lián)網(wǎng)產(chǎn)品用戶(hù)體驗(yàn)度的提升,以及對(duì)外觀審美的提高,各大企業(yè)對(duì)UI設(shè)計(jì)師的需求不斷提升。
10、物聯(lián)網(wǎng)
5G融入智能物聯(lián)網(wǎng)技術(shù),進(jìn)入萬(wàn)物互聯(lián)時(shí)代,物聯(lián)網(wǎng)風(fēng)暴席卷全球,BAT、谷歌、移動(dòng)、聯(lián)通等等世界互聯(lián)網(wǎng)巨頭紛紛搶占這一高地。
11、互聯(lián)網(wǎng)營(yíng)銷(xiāo)
全民營(yíng)銷(xiāo)時(shí)代,營(yíng)銷(xiāo)無(wú)處不在,內(nèi)容營(yíng)銷(xiāo)與事件營(yíng)銷(xiāo)顯現(xiàn)出巨大優(yōu)勢(shì),成為任何企業(yè)都非??粗氐闹攸c(diǎn)。
12、GO語(yǔ)言開(kāi)發(fā)
作為區(qū)塊鏈熱門(mén)編程語(yǔ)言,Go語(yǔ)言目前已成為政策重點(diǎn)扶持對(duì)象。京東、小米、美團(tuán)、滴滴、新浪、網(wǎng)易等等企業(yè)應(yīng)用層出不窮。
說(shuō)了這么多職業(yè)方向, 你會(huì)發(fā)現(xiàn), 絕大多數(shù)都要求懂一定的技術(shù),對(duì)于想學(xué)習(xí)什么,就要看你自己的興趣,以及工作城市對(duì)于崗位薪資的要求,可以參考這些選擇學(xué)習(xí)的方向。希望我的回答對(duì)你有多幫助。
可以的。Go語(yǔ)言作為一種全新的編程語(yǔ)言,它具有強(qiáng)大的數(shù)據(jù)處理能力,并支持各種數(shù)據(jù)庫(kù)的調(diào)用、快速處理和分析大量數(shù)據(jù),因此go語(yǔ)言是開(kāi)發(fā)大數(shù)據(jù)腳本的首選之一。
新聞名稱(chēng):go語(yǔ)言dropbox go語(yǔ)言適合做什么
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article22/dosjojc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、面包屑導(dǎo)航、網(wǎng)站導(dǎo)航、網(wǎng)站內(nèi)鏈、外貿(mào)網(wǎng)站建設(shè)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)