成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員為什么不使用Go語言呢?

開發(fā)
Go是一個來源于C語言的編程語言,在保留了C語言的簡約風格的同時也進行了很多改進。 今年的早些時候我們對比過了幾種native編程語言,包括D語言、Go、Rust和Vala。這里我們將分析來自Google的Go語言,看看他到底哪里跟別的語言不一樣。

Go語言比其他的很多語言都吸引我,雖然我不是Go語言的專家,但是我很樂意在這里介紹一下它的特性,下面的這些特性指引我轉向了Go語言。 

快速簡單的編譯: 

Go語言編譯的很快,事實上,他快的甚至可以作為腳本語言了。幾個使他編譯很快的原因有: 

他不使用頭文件

當A依賴B,B又依賴C時,那么首先會編譯C,然后是B和A;但是如果A依賴B,但是A并不直接依賴于C,而是存在依賴傳遞,這時會把所有B需要從C拿到的信息放在B的對象代碼里。這樣,當編譯A的時候,就不需要再管C了。

在編譯程序時,只需將類型信息沿著依賴關系樹向上遍歷即可,如果到達樹的頂端,則只需編譯緊鄰的依賴,而不用管其它層級的依賴了。

通過多返回值的錯誤處理: 

現(xiàn)代的編程語言基本上有兩種錯誤處理辦法,例如在C語言里是使用返回值,而在Java等面向?qū)ο笳Z言里使用異常處理返回值,因為返回值的狀態(tài)碼總是可能跟 需要返回的結果有沖突。Go語言允許多返回值,從某種程度上解決了這個問題。你可以為你的函數(shù)的執(zhí)行結果狀態(tài)定義返回值,任何調(diào)用的時候都可以來檢查,很 方便。

簡單的組合:

可以使用interface為對象指定一些類型的成員,還可以像Java一樣給他們指定操作(行為)。例如在標準庫的io包中定義了一個Writer,就 有一個帶有字節(jié)數(shù)組作為參數(shù)(輸入)一個integer值和錯誤碼作為返回值(輸出)的方法。而實現(xiàn)了io.Writer接口中的Write方法的類型才 是實際被執(zhí)行的。這個設計能夠非常優(yōu)雅的分離代碼,還簡化了單元測試過程,例如,如果你想測試一個數(shù)據(jù)庫對象的一個方法,在傳統(tǒng)的語言中你必須創(chuàng)建一個數(shù) 據(jù)庫對象,然后做很多協(xié)議初始化工作。在Go語言中,你可在接口下創(chuàng)建任何對象。

簡單的并發(fā):

在Go中并發(fā)變得非常的簡單,在任何函數(shù)前方上go兩個字母,這個函數(shù)就將以他自己的go-routine(一個非常輕量級的線程)來運行,Go- routines之間通過channels來通信。我們通常會有一些需要線程同步和互斥的需求,在Go中非常簡單,Go只是啟動并發(fā)任務,各個任務之間通 過channels來通信,從而協(xié)調(diào)同步和互斥。

優(yōu)秀的錯誤提示:

我從沒見過別的語言有Go語言這么高的錯誤診斷質(zhì)量。例如如果你的程序思索了,Go的運行時可以通知你,而且,他甚至可以告訴你是哪個線程出了問題。當然編譯錯誤也是很詳細很有用的。

其他特性:

Go語言還有其他非常吸引人的特性:高階函數(shù)、垃圾回收、哈希映射、可擴展的數(shù)組等等。

當然了,沒有一件東西是非常完美的,Go語言的開發(fā)工具還非常缺乏,社區(qū)很小,但是這個語言的背后支持者是Google,這些問題都會一步一步的 解決。當其他語言,尤其是D語言、Rust、Vala旨在簡化C++而且增加新的特性的時候,他們都覺得自己像是帶著新特性的C++。而Go語言更多的是 在反思一個Native語言應該是怎么樣的。即使你沒有特別考慮要使用Go語言,我想,即便哪怕是嘗試一下,你將會發(fā)現(xiàn)你已經(jīng)很欣賞他的很多特性了。 

【編輯推薦】

責任編輯:彭凡 來源: cnbeta
相關推薦

2023-03-17 09:55:10

2015-09-24 09:04:36

程序員

2013-10-29 10:24:31

程序員漫畫

2011-08-11 14:52:59

2015-06-05 14:15:13

程序員難升職

2011-09-18 09:42:08

程序員

2014-08-15 11:07:09

程序員

2016-03-15 08:51:12

程序員生活怪異

2012-09-06 10:30:58

2011-12-20 09:01:25

.NET

2024-01-02 10:38:22

Go語言數(shù)組

2019-01-23 11:27:18

程序員技能開發(fā)者

2011-05-19 08:19:50

Lisp

2015-09-15 09:08:58

前端程序員高薪

2019-11-08 13:57:53

程序員Excel軟件

2011-04-19 09:59:47

工資程序員

2010-10-09 09:20:08

.NET

2012-08-07 09:34:31

程序員

2020-02-25 15:14:13

程序員人生第一份工作睡眠

2013-09-26 09:34:56

女程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91视频三区 | 四虎成人在线播放 | 国产美女黄色片 | 黄色网址在线免费观看 | 超碰av人人 | 精品视频一区二区三区 | 精品一区二区av | 91精品国产综合久久久动漫日韩 | 国产精品久久久久久久三级 | 一区二区日本 | 国产三区四区 | 一区二区三区四区免费观看 | 黄色免费av | 成人精品国产免费网站 | 成人激情视频免费观看 | 亚洲一二三区在线观看 | 久久精品久久久久久 | 亚洲综合五月天婷婷 | 天天爽网站 | 国产精品久久久久久婷婷天堂 | 成人免费视频网站在线观看 | 国产乱码精品一区二区三区五月婷 | 成人区一区二区三区 | 日韩三区在线观看 | 日本在线综合 | 久久视频精品 | 91久久国产综合久久 | 国产午夜精品一区二区 | 成人激情视频在线播放 | 免费一级欧美在线观看视频 | 亚洲一区二区精品视频 | av网站在线看 | 免费观看av | 在线亚洲人成电影网站色www | 亚洲一区二区免费视频 | 国产高清视频一区二区 | 先锋资源吧 | www.色五月.com | 精品乱子伦一区二区三区 | 欧美一区二区三区在线看 | 亚洲人成人一区二区在线观看 |