首頁 > 後端開發 > Golang > go屬於哪種語言

go屬於哪種語言

青灯夜游
發布: 2023-01-17 15:01:10
原創
2256 人瀏覽過

go屬於靜態強型別、編譯型、且髮型,並具有垃圾回收功能的程式語言;Go需要使用編譯器來編譯程式碼。編譯器將原始程式碼編譯成二進位(或位元組碼)格式;在編譯程式碼時,編譯器會檢查錯誤、最佳化效能並輸出可在不同平台上執行的二進位檔案。

go屬於哪種語言

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的靜態強型別、編譯型、且髮型,並具備垃圾回收功能的程式語言。

Go 使用編譯器來編譯程式碼。編譯器將原始程式碼編譯成二進位(或位元組碼)格式;在編譯程式碼時,編譯器會檢查錯誤、最佳化效能並輸出可在不同平台上執行的二進位檔案。要建立並執行 Go 程序,程式設計師必須執行以下步驟。

  • 使用文字編輯器建立Go 程式;

  • #儲存檔案;

  • 編譯程式;

  • 執行編譯得到的可執行檔。

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

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

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

寫風格

在Go中有幾項規定,當不符合以下規定時編譯將會產生錯誤。

  • 每行程式結束後不需要撰寫分號。

  • 左大括號不能夠換行放置。

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

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

為什麼要學習Go語言

如果你要建立系統程序,或是基於網路的程序,Go語言是很不錯的選擇。作為一種相對較新的語言,它是由經驗豐富且受人尊敬的電腦科學家設計的,旨在應對創建大型並發網路程式面臨的挑戰。

在Go語言出現之前,開發者們總是面臨非常艱難的抉擇,究竟是使用執行速度快但是編譯速度並不理想的語言(如:C ),還是使用編譯速度較快但執行效率不佳的語言(如:.NET、Java),或者說開發難度較低但執行速度一般的動態語言呢?顯然,Go語言在這 3 個條件之間做到了最佳的平衡:快速編譯,高效執行,易於開發。

Go語言支援交叉編譯,比如說你可以在執行 Linux 系統的電腦上開發可以在 Windows 上執行的應用程式。這是第一個完全支援 UTF-8 的程式語言,這不僅體現在它可以處理使用 UTF-8 編碼的字串,就連它的原始碼檔案格式都是使用的 UTF-8 編碼。 Go語言做到了真正的國際化!

Go 語言用途

Go 語言被設計成一門應用於搭載 Web 伺服器,儲存叢集或類似用途的巨型中央伺服器的系統程式語言。

對於高效能分散式系統領域而言,Go 語言無疑比大多數其它語言有著更高的開發效率。它提供了海量並行的支持,這對於遊戲服務端的開發而言是再好不過了。

【相關推薦:Go影片教學程式設計教學

以上是go屬於哪種語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板