欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

為什么不用go語(yǔ)言,go語(yǔ)言為什么沒(méi)有類(lèi)

我為什么放棄Go語(yǔ)言

有好幾次,當(dāng)我想起來(lái)的時(shí)候,總是會(huì)問(wèn)自己:我為什么要放棄Go語(yǔ)言?這個(gè)決定是正確的嗎?是明智和理性的嗎?其實(shí)我一直在認(rèn)真思考這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)基于成都重慶香港及美國(guó)等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶(hù)提供專(zhuān)業(yè)服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性?xún)r(jià)比高,為金融證券行業(yè)川西大數(shù)據(jù)中心,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專(zhuān)業(yè)成都idc公司。

開(kāi)門(mén)見(jiàn)山地說(shuō),我當(dāng)初放棄Go語(yǔ)言(golang),就是因?yàn)閮蓚€(gè)“不爽”:第一,對(duì)Go語(yǔ)言本身不爽;第二,對(duì)Go語(yǔ)言社區(qū)里的某些人不爽。毫無(wú)疑問(wèn),這是非常主觀的結(jié)論。轉(zhuǎn)載

1.1 不允許左花括號(hào)另起一行

1.2 編譯器莫名其妙地給行尾加上分號(hào)

1.3 極度強(qiáng)調(diào)編譯速度,不惜放棄本應(yīng)提供的功能

1.4 錯(cuò)誤處理機(jī)制太原始

1.5 垃圾回收器(GC)不完善、有重大缺陷

1.6 禁止未使用變量和多余import

1.7 創(chuàng)建對(duì)象的方式太多令人糾結(jié)

1.8 對(duì)象沒(méi)有構(gòu)造函數(shù)和析構(gòu)函數(shù)

1.9 defer語(yǔ)句的語(yǔ)義設(shè)定不甚合理

1.10 許多語(yǔ)言?xún)?nèi)置設(shè)施不支持用戶(hù)定義的類(lèi)型

1.11 沒(méi)有泛型支持,常見(jiàn)數(shù)據(jù)類(lèi)型接口丑陋

1.12 實(shí)現(xiàn)接口不需要明確聲明

1.13 省掉小括號(hào)卻省不掉花括號(hào)

1.14 編譯生成的可執(zhí)行文件尺寸非常大

1.15 不支持動(dòng)態(tài)加載類(lèi)庫(kù)

為什么不用Go語(yǔ)言寫(xiě)單片機(jī)程序

單片機(jī)不像一些應(yīng)用軟件,和硬件結(jié)合十分緊密,必須要求“高效”,所以匯編語(yǔ)言是最好選擇,其次就是C語(yǔ)言了。其他語(yǔ)言編譯效率都太低,滿(mǎn)足不了要求。

為什么不使用Go語(yǔ)言呢?

今年的早些時(shí)候我們對(duì)比過(guò)了幾種native編程語(yǔ)言,包括D語(yǔ)言、Go、Rust和Vala。這里我們將分析來(lái)自Google的Go語(yǔ)言,看看他到底哪里跟別的語(yǔ)言不一樣。 Go語(yǔ)言比其他的很多語(yǔ)言都吸引我,雖然我不是Go語(yǔ)言的專(zhuān)家,但是我很樂(lè)意在這里介紹一下它的特性,下面的這些特性指引我轉(zhuǎn)向了Go語(yǔ)言。 快速簡(jiǎn)單的編譯: go語(yǔ)言編譯的很快,事實(shí)上,他快的甚至可以作為腳本語(yǔ)言了。幾個(gè)使他編譯很快的原因有: 他不使用頭文件當(dāng)A依賴(lài)B,B又依賴(lài)C時(shí),那么首先會(huì)編譯C,然后是B和A;但是如果A依賴(lài)B,但是A并不直接依賴(lài)于C,而是存在依賴(lài)傳遞,這時(shí)會(huì)把所有B需要從C拿到的信息放在B的對(duì)象代碼里。這樣,當(dāng)編譯A的時(shí)候,就不需要再管C了。在編譯程序時(shí),只需將類(lèi)型信息沿著依賴(lài)關(guān)系樹(shù)向上遍歷即可,如果到達(dá)樹(shù)的頂端,則只需編譯緊鄰的依賴(lài),而不用管其它層級(jí)的依賴(lài)了。通過(guò)多返回值的錯(cuò)誤處理: 現(xiàn)代的編程語(yǔ)言基本上有兩種錯(cuò)誤處理辦法,例如在C語(yǔ)言里是使用返回值,而在Java等面向?qū)ο笳Z(yǔ)言里使用異常處理返回值,因?yàn)榉祷刂档臓顟B(tài)碼總是可能跟需要返回的結(jié)果有沖突。Go語(yǔ)言允許多返回值,從某種程度上解決了這個(gè)問(wèn)題。你可以為你的函數(shù)的執(zhí)行結(jié)果狀態(tài)定義返回值,任何調(diào)用的時(shí)候都可以來(lái)檢查,很方便。簡(jiǎn)單的組合: 可以使用interface為對(duì)象指定一些類(lèi)型的成員,還可以像Java一樣給他們指定操作(行為)。例如在標(biāo)準(zhǔn)庫(kù)的io包中定義了一個(gè)Writer,就有一個(gè)帶有字節(jié)數(shù)組作為參數(shù)(輸入)一個(gè)integer值和錯(cuò)誤碼作為返回值(輸出)的方法。而實(shí)現(xiàn)了io.Writer接口中的Write方法的類(lèi)型才是實(shí)際被執(zhí)行的。這個(gè)設(shè)計(jì)能夠非常優(yōu)雅的分離代碼,還簡(jiǎn)化了單元測(cè)試過(guò)程,例如,如果你想測(cè)試一個(gè)數(shù)據(jù)庫(kù)對(duì)象的一個(gè)方法,在傳統(tǒng)的語(yǔ)言中你必須創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)對(duì)象,然后做很多協(xié)議初始化工作。在Go語(yǔ)言中,你可在接口下創(chuàng)建任何對(duì)象。簡(jiǎn)單的并發(fā): 在Go中并發(fā)變得非常的簡(jiǎn)單,在任何函數(shù)前方上go兩個(gè)字母,這個(gè)函數(shù)就將以他自己的go-routine(一個(gè)非常輕量級(jí)的線程)來(lái)運(yùn)行,Go- routines之間通過(guò)channels來(lái)通信。我們通常會(huì)有一些需要線程同步和互斥的需求,在Go中非常簡(jiǎn)單,Go只是啟動(dòng)并發(fā)任務(wù),各個(gè)任務(wù)之間通過(guò)channels來(lái)通信,從而協(xié)調(diào)同步和互斥。優(yōu)秀的錯(cuò)誤提示: 我從沒(méi)見(jiàn)過(guò)別的語(yǔ)言有Go語(yǔ)言這么高的錯(cuò)誤診斷質(zhì)量。例如如果你的程序思索了,Go的運(yùn)行時(shí)可以通知你,而且,他甚至可以告訴你是哪個(gè)線程出了問(wèn)題。當(dāng)然編譯錯(cuò)誤也是很詳細(xì)很有用的。其他特性:Go語(yǔ)言還有其他非常吸引人的特性:高階函數(shù)、垃圾回收、哈希映射、可擴(kuò)展的數(shù)組等等。當(dāng)然了,沒(méi)有一件東西是非常完美的,Go語(yǔ)言的開(kāi)發(fā)工具還非常缺乏,社區(qū)很小,但是這個(gè)語(yǔ)言的背后支持者是Google,這些問(wèn)題都會(huì)一步一步的解決。當(dāng)其他語(yǔ)言,尤其是D語(yǔ)言、Rust、Vala旨在簡(jiǎn)化C++而且增加新的特性的時(shí)候,他們都覺(jué)得自己像是帶著新特性的C++。

當(dāng)前題目:為什么不用go語(yǔ)言,go語(yǔ)言為什么沒(méi)有類(lèi)
標(biāo)題路徑:http://chinadenli.net/article14/hescge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)服務(wù)器托管響應(yīng)式網(wǎng)站網(wǎng)站維護(hù)外貿(mào)建站定制開(kāi)發(fā)

廣告

聲明:本網(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)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)