Go語言到底適合做什麼?Web應用、API應用、雲平台……

Go語言是谷歌發佈的第二款開源編程語言。專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。

Go語言到底適合做什麼?Web應用、API應用、雲平臺……

Go語言的思維哲學是:

  • 最小心智負擔原則
  • 最小特性
  • 最小驚異
  • 最少犯錯既會

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

GO到底適合幹什麼?

作為服務器編程語言,很適合處理日誌、數據打包、虛擬機處理、文件系統、分佈式系統、數據庫代理等;網絡編程方面,Go語言廣泛應用於Web應用、API應用、下載應用等;除此之外,Go語言還可用於內存數據庫和雲平臺領域,目前國外很多雲平臺都是採用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:網絡流量抓包和重放工具

哪些公司在使用Go語言?

Go語言作為一門大型項目開發語言,在很多大公司相繼使用,甚至完全轉向Go開發,其中代表有Google、Facebook、騰訊、百度、阿里巴巴、京東、小米以及360、美團、滴滴以及新浪等,因此,Go語言的開發前景還是很不錯的。

Facebook:Facebook專門在Github上建立了一個開源組織facebookgo,大家可以通過github訪問查看facebook開源的項目,比如著名的——平滑升級的grace。

騰訊:騰訊作為主要使用C/C++的公司,使用Go會方便很多。他們的Go主要負責騰訊遊戲藍鯨平臺後臺開發工作。

京東:京東雲消息推送系統、雲存儲以及京東商城等都有使用Go做開發。

奇虎360:360對Golang的使用主要是開源的日誌搜索系統Poseidon。而且,360直播在招聘Golang開發工程師。

小米:小米對Golang的支持,莫過於運維監控系統的開源,也就是 open-falcon 。此外,小米互娛、小米商城、小米視頻、小米生態鏈等團隊都在使用Golang。

綜合來看,Go是一種非常高效的語言,高度支持併發性。同時,它也像C++和Java一樣快。雖然相比於Python和Ruby,使用 Go 建立東西需要更多的時間,但在後續的代碼優化上可以節省大量時間。對新手開發者而言,Go結合了強大的生態系統、易於上手,也有超快的表現、高度支持併發性,富有成效的編程環境使它成為了一種好的選擇。

覺得文章有用不妨轉發、收藏哈,獲取更多編程乾貨,歡迎大家關注我的頭條號~


分享到:


相關文章: