選擇Go語言的12個理由

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

編者按:多核化和叢集化是互連網時代的典型特徵,那語言需要哪些特性來應對這些特徵呢?多數語言在文法層面並不直接支援協程,而通過庫的方式支援的協程的功能也並不完整,比如僅僅提供協程的建立、銷毀與切換等能力。如果在這樣的協程中調用一個同步 IO操作,比如網路通訊、本地檔案讀寫,都會阻塞其他的並發執行協程,從而無法真正達到協程本身期望達到的目標,而Go語言的出現解決了這個問題。

以下是原文:

Go語言是Google推出的一種程式設計語言,可以在不損失應用程式效能的情況下降低代碼的複雜性。Go語言專門針對多處理器系統應用程式的編程進行了最佳化,使用Go編譯的程式可以媲美C或C++代碼的速度,而且更加安全、支援並行進程。

Go語言在程式設計語言的家族中算是一個比較新的成員,彌補C語言的不足並且保持了C的極簡主義,因此在過去的幾年中它的發展卻十分迅速。目前在我的工作中Go語言也充當著一個重要的角色!

到底Go語言對企業來說有什麼好處?下面簡單介紹一下企業選擇Go語言的12個理由:

1. 一個完整的語言體系

Go語言已經逐漸發展成一個完整的體系,不論是Go項目自身還是ta的社區都有了極大的發展。

2. C級效能

Go語言目前的效能已經達到了C語言的程度。而且Go語言的效能要比其他企業級語言(如Java、Scala等)更強。隨著Go語言版本的更新,它將會變得愈來愈成熟。

"Go is like a better C, from the guys that didn’t bring you C++" — Ikai Lan

3. 快速編譯

Go語言編譯速度很快,如此快速的編譯使它很容易作為指令碼語言使用。因為Google設計Go語言就是為瞭解決Google自身的問題——數以萬計的代碼和CPU核心。我自己的也驗證過Go語言的編譯速度,幾乎是和語言同步進行。 

4. 跨平台

Go語言可以在多個平台上進行編譯。Go語言設計支援主流的32位和64位的x86平台,同時也支援32位的ARM架構,同時支援多種作業系統,在企業中不需要針對系統內容做額外的部署。

5.測試調優架構

這些基準測試可以查看: my recent post about Golang benchmarking

6. 語言級並行

並發性是能夠同時執行多個計算結果。現在並發性已經成為衡量一個語言的關鍵特性,Go語言就是基因裡面支援的並發,可以充分的利用多核,很容易的使用並發。

7. 代碼風格 - gofmt

通過Google的頁面可以看見Go語言裡面內建了很多工具鏈,最好的應該是gofmt工具,自動化格式化代碼,能夠讓團隊review變得如此的簡單,代碼格式一模一樣,想不一樣都很困難

8.內建文檔 - godoc

企業中API和程式的相互協作以及和第三方協作是非常重要的,Go語言可以建立一個代碼的內建文檔-godoc,可以分享將資源在代碼中進行分享。

9.自動記憶體回收

在C和c++程式員花費很多的時間和精力分配和釋放記憶體,R語言則可以消除這種情況,確保程式員可以集中精力進行更多的生產任務。當然垃圾收集也有自身的問題,不過這些都是通過語言來實現的,不需要程式員進行額外的工作。

10. 豐富的庫

一個豐富的庫對於任何一種語言都是非常重要的,可以通過 the list of packages in Go查看Go語言的庫,包括壓縮、加密、大量的資料結構、SQL語句、JSON和XML解析、模板、網路等等。

11. 有趣的語言,低門檻學習條件

有一些優秀的程式員可以學習多種語言,他們是非常優秀的。但是作為一個普通人,學習語言還是很痛苦的,但是Go語言有C的基因,學習門檻很低,但是表達能力很強大,幾乎支援大多數你在其他語言見過的特性:繼承、重載、對象等。

"After Go, programming in anything else seems as difficult as balancing the State of California’s budget." — Charles Thompson

12. 經過線上大規模考驗的成功案例

我研究越多,越讓我印象深刻。還有很多好處我沒有列出來,因為實在是太多了。通過一些具體的案例來展示一下吧。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.