首頁  >  文章  >  後端開發  >  go是什麼動態語言?

go是什麼動態語言?

青灯夜游
青灯夜游原創
2020-12-09 16:45:313873瀏覽

go不是動態語言,而是一種靜態強型別、編譯型語言。 GO是靜態型別語言,但是有動態語言的感覺,靜態類型的語言就是可以在編譯的時候檢查出來隱藏的大多數問題,動態語言的感覺就是有很多的包可以使用,寫起來的效率很高。

go是什麼動態語言?

相關推薦:《go教程

Go(又稱Golang)是Google開發的一種靜態強型別、編譯型、並髮型,並具有垃圾回收功能的程式語言。

Go的語法接近C語言,但對於變數的宣告有所不同。 Go支援垃圾回收功能。 Go的平行模型是以東尼·霍爾的通訊順序進程(CSP)為基礎,採取類似模型的其他語言包括Occam和Limbo,但它也具有Pi運算的特徵,例如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態載入部分函數。

靜態類型語言,但是有動態語言的感覺,靜態類型的語言就是可以在編譯的時候檢查出來隱藏的大多數問題,動態語言的感覺就是有很多的包可以使用,寫起來的效率很高。

go語言的優點

  • 可直接編譯成機器碼,不依賴其他函式庫,glibc的版本有一定要求,部署就是丟一個文件上去就完成了。

  • 靜態類型語言,但是有動態語言的感覺,靜態類型的語言就是可以在編譯的時候檢查出來隱藏的大多數問題,動態語言的感覺就是有很多的包可以使用,寫起來的效率很高。

  • 語言層面支持並發,這就是Go最大的特色,天生的支持並發。 Go就是基因裡面支持的並發,可以充分的利用多核,很容易的使用並發。

  • 內建runtime,支援垃圾回收,這屬於動態語言的特性之一吧,雖然目前來說GC(記憶體垃圾回收機制)不算完美,但足以應付我們所能遇到的大多數情況,特別是Go1.1之後的GC。

  • 簡單易學,Go語言的作者都有C的基因,那麼Go自然而然就有了C的基因,那麼Go關鍵字是25個,但是表達能力很強大,幾乎支援大多數你在其他語言見過的特性:繼承、重載、物件等。

  • 豐富的標準函式庫,Go目前已經內建了大量的函式庫,特別是網路庫非常強大。

  • 內建強大的工具,Go語言內建了許多工具鏈,最好的應該是gofmt工具,自動化格式化程式碼,能夠讓團隊review變得如此的簡單,程式碼格式一模一樣,想不一樣都很困難。

  • 跨平台編譯,如果你寫的Go程式碼不包含cgo,那麼就可以做到window系統編譯linux的應用,如何做到的呢? Go引用了plan9的程式碼,這就是不依賴系統的資訊。

更多程式相關知識,請造訪:程式設計學習! !

以上是go是什麼動態語言?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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