Go語言適合做什麼

搭建 Web 服務器

Go語言作為 Google 2009 年推出的開發語言,其被設計成一門應用於搭建 Web 服務器,存儲集群或類似用途的巨型中央服務器的系統編程語言。從 1.0 版本開始就備受眾多開發者關注並得到廣泛使用,Go語言的簡單、高效、併發特性吸引了眾多傳統語言開發者的加入,而且人數越來越多。

高性能分佈式系統領域

對於高性能分佈式系統領域而言,Go語言無疑比大多數其它語言有著更高的開發效率。它提供了海量並行的支持,這對於遊戲服務端的開發而言是再好不過了。

其實Go語言主要用作服務器端開發,其定位是用來開發“大型軟件”的,適合於很多程序員一起開發大型軟件,並且開發週期長,支持雲計算的網絡服務。Go語言能夠讓程序員快速開發,並且在軟件不斷的增長過程中,它能讓程序員更容易地進行維護和修改。它融合了傳統編譯型語言的高效性和腳本語言的易用性和富於表達性。

Go語言廣泛應用

鑑於Go語言的特點和設計的初衷,Go語言作為服務器編程語言,很適合處理日誌、數據打包、虛擬機處理、文件系統、分佈式系統、數據庫代理等;網絡編程方面,

Go語言廣泛應用於 Web 應用、API 應用、下載應用等;除此之外,Go語言還適用於內存數據庫和雲平臺領域,目前國外很多雲平臺都是採用Go語言開發的。

  • 服務器編程,以前大家如果使用 C 或者 C++ 做的那些事情,用 Go 來做也很合適,例如處理日誌、數據打包、虛擬機處理、文件系統等。
  • 分佈式系統、數據庫代理器、中間件等,例如 Etcd。
  • 網絡編程,這一塊目前應用最廣,包括 Web 應用、API 應用、下載應用,而且 Go 內置的 net/http 包基本上把我們平常用到的網絡功能都實現了。
  • 數據庫操作
  • 開發雲平臺,目前國外很多雲平臺在採用 Go 開發

Go 發佈之後,很多公司特別是雲計算公司開始用 Go 重構他們的基礎架構,很多都是直接採用 Go 進行了開發,最近熱火朝天的 Docker 就是採用 Go 開發的。

使用Go語言開發的開源項目非常多。早期的Go語言開源項目只是通過Go語言與傳統項目進行C語言庫綁定實現,例如 Qt、Sqlite 等;後期的很多項目都使用Go語言進行了原生實現,這個過程相對於其他語言要簡單一些,這也促成了大量使用Go語言原生開發項目的出現。

  • 雲計算基礎設施領域,代表項目:docker、kubernetes、etcd、consul、cloudflare CDN、七牛雲存儲等。
  • 基礎軟件,代表項目:tidb、influxdb、cockroachdb 等。
  • 微服務,代表項目:go-kit、micro、monzo bank 的 typhon、bilibili 等。
  • 互聯網基礎設施,代表項目:以太坊、hyperledger 等。

Go語言適合做什麼


分享到:


相關文章: