Go語言從入門到放棄01

1. 初識Go語言

1.1 Go語言介紹

1.1.1 Go語言是什麼

2009年11月10日,Go語言正式成為開源編程語言家庭的一員。

Go語言(或稱Golang)是雲計算時代的C語言。Go語言的誕生是為了讓程序員有更高的生產效率,Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。

開發人員在為項目選擇語言時,不得不在快速開發和性能之間做出選擇。C和C++這類語言提供了很快的執行速度,而 Ruby 和 Python 這類語言則擅長快速開發。Go語言在這兩者間架起了橋樑,不僅提供了高性能的語言,同時也讓開發更快速。

1.1.2 Go語言優勢

  • 可直接編譯成機器碼,不依賴其他庫,glibc的版本有一定要求,部署就是扔一個文件上去就完成了。
  • l靜態類型語言,但是有動態語言的感覺,靜態類型的語言就是可以在編譯的時候檢查出來隱藏的大多數問題,動態語言的感覺就是有很多的包可以使用,寫起來的效率很高。
  • 語言層面支持併發,這個就是Go最大的特色,天生的支持併發。Go就是基因裡面支持的併發,可以充分的利用多核,很容易的使用併發。
  • 內置runtime,支持垃圾回收,這屬於動態語言的特性之一吧,雖然目前來說GC(內存垃圾回收機制)不算完美,但是足以應付我們所能遇到的大多數情況,特別是Go1.1之後的GC。
  • 簡單易學,Go語言的作者都有C的基因,那麼Go自然而然就有了C的基因,那麼Go關鍵字是25個,但是表達能力很強大,幾乎支持大多數你在其他語言見過的特性:繼承、重載、對象等。
  • 豐富的標準庫,Go目前已經內置了大量的庫,特別是網絡庫非常強大。
  • 內置強大的工具,Go語言裡面內置了很多工具鏈,最好的應該是gofmt工具,自動化格式化代碼,能夠讓團隊review變得如此的簡單,代碼格式一模一樣,想不一樣都很困難。
  • 跨平臺編譯,如果你寫的Go代碼不包含cgo,那麼就可以做到window系統編譯linux的應用,如何做到的呢?Go引用了plan9的代碼,這就是不依賴系統的信息。
  • 內嵌C支持,Go裡面也可以直接包含C代碼,利用現有的豐富的C庫。

1.1.3 Go適合用來做什麼

  • 服務器編程,以前你如果使用C或者C++做的那些事情,用Go來做很合適,例如處理日誌、數據打包、虛擬機處理、文件系統等。
  • 分佈式系統,數據庫代理器等。
  • 網絡編程,這一塊目前應用最廣,包括Web應用、API應用、下載應用。
  • 內存數據庫,如google開發的groupcache,couchbase的部分組建。
  • 雲平臺,目前國外很多雲平臺在採用Go開發,CloudFoundy的部分組建,前VMare的技術總監自己出來搞的apcera雲平臺。

--------------------------------------------------------------------------------------------------------------

點贊,關注,評論:分享教程 私信我 全套黑馬go語言教

Go語言從入門到放棄01

程免費分享!


分享到:


相關文章: