golang(又稱go語言)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的靜態強型別、編譯語言。 Go 語言文法與 C 相近,但功能上有:記憶體安全,GC(垃圾回收),結構形態及 CSP-style 並發計算。
Go語言是Google推出的一款全新的程式語言,可以在不損失應用程式效能的情況下極大的降低程式碼的複雜性,還可以發揮多核心處理器同步多工的優點,並可解決物件導向程式設計的麻煩,並幫助程式設計師處理瑣碎但重要的記憶體管理問題,相較於其他程式語言,簡潔、快速、安全、平行、有趣、開源、記憶體管理、陣列安全、編譯迅速是其特色。
golang能開發什麼?
其實Go語言主要用作伺服器端開發,其定位是用來開發"大型軟體"的,適合於許多程式設計師一起開發大型軟體,並且開發週期長,支援雲端運算的網路服務。 Go語言能夠讓程式設計師快速開發,並且在軟體不斷的成長過程中,它能讓程式設計師更容易進行維護和修改。它融合了傳統編譯型語言的高效性和腳本語言的易用性和富於表達性。
鑑於Go語言的特色和設計的初衷,Go語言作為伺服器程式語言,很適合處理日誌、資料打包、虛擬機器處理、檔案系統、分散式系統、資料庫代理程式等;網路程式設計方面, Go語言廣泛應用於Web 應用、API應用、下載應用程式等;除此之外,Go語言也適用於記憶體資料庫和雲端平台領域,目前國外許多雲端平台都是採用Go開發。
伺服器程式設計:以前你如果使用C或C 做的那些事情,用Go來做很合適,例如處理日誌、資料打包、虛擬機器處理、檔案系統等。
分散式系統、資料庫代理程式、中間件:例如Etcd。
網路程式設計:這一塊目前應用最廣,包括網路應用程式、API應用程式、下載應用,而且Go內建的net/http套件基本上把我們平常用到的網路功能都實現了。
開發雲端平台:目前國外很多雲端平台都在採用Go開發,我們所熟知的七牛雲、華為雲等等都有使用Go進行開發並且開源的成型的產品。
區塊鏈:目前有一種說法,技術從業人員把Go語言稱為區塊鏈產業的開發語言。如果大家學習區塊鏈技術的話,就會發現現在有很多很多的區塊鏈的系統和應用都是採用Go進行開發的,例如ehtereum是目前知名度最大的公鏈,再例如fabric是目前最知名的聯盟鏈,兩者都有go語言的版本,且go-ehtereum還是以太坊官方推薦的版本。
目前來看,Go在國內的發展和社群動態動能也都不錯,開發者群體也越來越多。
Go語言成功案例
Nsq:Nsq 是由Go語言開發的高效能、高可用訊息佇列系統,效能非常高,每天能處理數十億條的訊息;
Docker:基於lxc的一個虛擬打包工具,能夠實現PAAS平台的組成。
Packer:用來產生不同平台的映像文件,例如VM、vbox、AWS等,作者是vagrant的作者
Skynet:分散式調度框架
Doozer:分散式同步工具,類似ZooKeeper
Heka:mazila開源的日誌處理系統
Cbfs:couchbase開源的分散式檔案系統
Tsuru:開源的PAAS平台,和SAE實作的功能一模一樣
#Groupcache:memcahe作者寫的Google下載系統的快取系統
God:類似redis的快取系統,但支援分散式和擴充性
#Gor:網路流量抓包與重播工具
相關推薦:golang教學
以上是golang能開發什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!