golang和go語言沒有差別,golang是go語言的別名。 Go(又稱Golang)是Google開發的靜態強型別、編譯型、且髮型,並具有垃圾回收功能的程式語言。
描述
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中有幾項規定,而且這些是強制的,當不符合以下規定時編譯將會產生錯誤。
每行程式結束後不需要寫分號(;)。
大括號({)不能夠換行放置。
if判斷式和for迴圈不需要以小括號包覆起來。
Go也有內建gofmt工具,能夠自動整理程式碼多餘的空白、變數名稱對齊、並將對齊空格轉換成Tab。
編譯器
目前有兩個Go編譯器分支,分別為官方編譯器gc和gccgo。官方編譯器在初期使用C寫成,後來用Go重寫實現自舉。 Gccgo是一個使用標準GCC作為後端的Go編譯器。
官方編譯器支援跨平台編譯(但不支援CGO),允許將原始程式碼編譯為可在目標系統、架構上執行的二進位。
推薦學習:Golang教學
以上是golang和go語言有差別嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!