Go 也稱為 Golang,是 Google 開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言,所編寫的程序文件后綴拓展名為.go,由Google 由 Robert Griesemer,Rob Pike 和 Ken Thompson 設計。Go 在語法上類似于 C,但具有內存安全性,垃圾收集,結構類型,和 CSP 風格的并發(fā)性。Go 是一個開源的編程語言,它能讓構造簡單、可靠且高效的軟件變得容易。
Go 于 2007 年在谷歌設計,旨在提高多核,聯(lián)網機器和大型代碼庫時代的編程效率。設計師想要解決對谷歌使用的其他語言的批評,但保留其有用的特征:
靜態(tài)類型和運行時效率(如 C ++
可讀性和可用性(如 Python 或 JavaScript
高性能網絡和多處理
Go 的語法包括來自 C 的更改,旨在保持代碼簡潔和可讀。有許多內置類型,包括數(shù)字類型(byte,int64,float32 等),布爾值和字符串(字符串)。字符串是不可改變的; 內置運算符和關鍵字(而不是函數(shù))提供串聯(lián),比較和 UTF-8 編碼/解碼??梢允褂?/span> struct 關鍵字定義記錄類型。
當前有兩個 Go 編譯器分支,分別為官方編譯器 gc 和 gccgo。官方編譯器在初期使用 C 寫成,后用 Go 重寫從而實現(xiàn)自舉。Gccgo 是一個使用標準 GCC 作為后端的 Go 編譯器。
官方編譯器支持跨平臺編譯(但不支持 CGO),允許將源代碼編譯為可在目標系統(tǒng)、架構上執(zhí)行的二進制文件。