首頁 > 後端開發 > Golang > 主體

golang和go語言有差別嗎?

青灯夜游
發布: 2020-04-17 16:48:40
原創
15177 人瀏覽過

golang和go語言沒有差別,golang是go語言的別名。 Go(又稱Golang)是Google開發的靜態強型別、編譯型、且髮型,並具有垃圾回收功能的程式語言。

golang和go語言有差別嗎?

描述

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

與C 相比,Go不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數等功能,但增加了切片(Slice) 型、並發、管道、垃圾回收、介面(Interface)等特性的語言級支援。 Go 2.0版本將支援泛型,對於斷言的存在,則持負面態度,同時也為自己不提供類型繼承來辯護。

不同於Java,Go內嵌了關聯陣列(也稱為雜湊表(Hashes)或字典(Dictionaries)),就像字串類型一樣。

golang的特點

  • 文法簡潔

    Go 語言簡單易學,學習曲線平緩,不需要像C/C語言動輒需要兩到三年的學習期。 Go 語言被稱為「網路時代的C語言」。 Go語言的風格類似C語言。其語法在C語言的基礎上進行了大幅的簡化,去掉了不需要的表達式括號,循環也只有 for一種表示方法,就可以實現數值、鍵值等各種遍歷。

  • 程式碼風格統一

    Go 語言提供了一套格式化工具-go fmt。一些 Go語言的開發環境或編輯器在儲存時,都會使用格式化工具進行修改程式碼的格式化,這樣就保證了不同開發者提交的程式碼都是統一的格式。

  • 執行效能好

    Go語言是一門編譯型的語言,我們寫的程式碼直接編譯成伺服器可以執行的二進位執行檔。

  • 開發效率高

    Go語言雖然是一門編譯型的語言,但是它內建了垃圾回收機制,降低了開發者的心智負擔,使其擁有像Python、PHP等解釋性語言的一樣的開發效率。真正實現了開發效率和執行效率的完美結合。

  • 天生支援並發

    Go於2009年發布,當時多核心處理器已經上市。 Go語言在多核心並發上擁有原生的設計優勢,Go語言從底層原生支援並發,無須第三方程式庫、開發者的程式設計技巧和開發經驗。

撰寫風格

在Go中有幾項規定,而且這些是強制的,當不符合以下規定時編譯將會產生錯誤。

  1. 每行程式結束後不需要寫分號(;)。

  2. 大括號({)不能夠換行放置。

  3. if判斷式和for迴圈不需要以小括號包覆起來。

Go也有內建gofmt工具,能夠自動整理程式碼多餘的空白、變數名稱對齊、並將對齊空格轉換成Tab。

編譯器

目前有兩個Go編譯器分支,分別為官方編譯器gc和gccgo。官方編譯器在初期使用C寫成,後來用Go重寫實現自舉。 Gccgo是一個使用標準GCC作為後端的Go編譯器。

官方編譯器支援跨平台編譯(但不支援CGO),允許將原始程式碼編譯為可在目標系統、架構上執行的二進位。

推薦學習:Golang教學

以上是golang和go語言有差別嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!