首頁  >  文章  >  後端開發  >  golang為什麼那麼火?

golang為什麼那麼火?

coldplay.xixi
coldplay.xixi原創
2020-06-20 10:58:505331瀏覽

golang為什麼那麼火?

golang為什麼那麼火?

golang那麼火的原因:

#1, Concurrency的原生支援

#透過語言原生的Goroutine和Channel,很好的支援了Concurrency。你可以把Goroutine理解為非常輕量級的Thread。

一個Goroutine只佔用2KB的內存,但是一個Thread要佔用1MB的內存。

Goroutine的創建、銷毀和切換的開銷,相對於線程來說特別低。你可以隨時起上千個Goroutine,這會讓你的編碼變得異常簡單。

Go runtime處理所有跟Goroutine相關的操作,其實Goroutine也是跑在作業系統的Thread上。

2, Go的依賴管理

對C/C 和Java而言,依賴管理是一個讓大多數新手抓狂的問題,你需要去寫CMakeLists.txt/Makefile或設定Maven。

Go的依賴管理很簡單:

定義一個根目錄$GOROOT,來儲存你所有的程式碼。

你的程式碼和依賴,依照Go的約定,放在固定的相對路徑下。 go get指令能幫你下載所有依賴的package。

Go也有一些依賴管理的工具,我現在用的是glide。

3, 靜態連結

部署C/C 服務的朋友一定很熟悉靜態連結和動態連結的概念。伺服器部署的時候,動態連結函式庫的管理也是個很麻煩的事情,常常本地可以跑的,換個伺服器就不行了。 Docker的出現,某種程度上簡化了這個問題。

Go預設使用靜態連結的方式編譯,所以在部署的時候特別方便,只需要拷貝單一二進位就可以了。

4, Go的工具鏈

Go官方支援的工具鏈很齊全很好用,常用的包括測試,Benchmark,效能調優等。在一個成熟的開發流程中,編碼只會佔用少量時間,更多時間都花在測試和調優上,所以好用的工具鏈對提升效率很重要。

5, Go的社群

Go背後有Google撐腰,同時也有一個非常健康和活躍的開源社群。官方package本身就很強大,社群也貢獻了大量好用的元件。另外Go的文檔和優秀的Blog也很多,學習成本較低。

在後台開發中,除了一些特定的場景需要用C/C ,例如CUDA、CPU密集的或IO密集的以外,其他的都可以嘗試用Go。

推薦教學:《Go語言教學

以上是golang為什麼那麼火?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn