-
go
(計算機編程語言)
鎖定
go產生背景
羅伯特·格瑞史莫(Robert Griesemer),羅布·派克(Rob Pike)及肯·湯普遜(Ken Thompson)於2007年9月開始設計Go,稍後Ian Lance Taylor、Russ Cox加入項目。Go是基於Inferno操作系統所開發的。Go於2009年11月正式宣佈推出,成為開放源代碼項目,並在Linux及Mac OS X平台上進行了實現,後來追加了Windows系統下的實現。在2016年,Go被軟件評價公司TIOBE 選為“TIOBE 2016 年最佳語言”。 目前,Go每半年發佈一個二級版本(即從a.x升級到a.y)。
[1]
go主要功能
Go的語法接近C語言,但對於變量的聲明有所不同。Go支持垃圾回收功能。Go的並行模型是以東尼·霍爾的通信順序進程(CSP)為基礎,採取類似模型的其他語言包括Occam和Limbo,但它也具有Pi運算的特徵,比如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味着現在能從Go中動態加載部分函數。
與C++相比,Go並不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數等功能,但增加了 切片(Slice) 型、併發、管道、垃圾回收、接口(Interface)等特性的語言級支持。Go 2.0版本將支持泛型,對於斷言的存在,則持負面態度,同時也為自己不提供類型繼承來辯護。
go版本記錄
go1.20.1
go1.19.6
go1.20
go1.19.5
go1.19.4
go1.19.3
go運行環境
go Windows
Windows 7 or later, Intel 64-bit processor
gomacOS
Apple macOS (ARM64)
macOS 10.13 or later, Intel 64-bit processor
goLinux
go撰寫風格
在Go中有幾項規定,當不匹配以下規定時編譯將會產生錯誤。
- 每行程序結束後不需要撰寫分號。
- 左大括號不能夠換行放置。
- if判斷式和for循環不需要以小括號包覆起來。
go編譯器
當前有兩個Go編譯器分支,分別為官方編譯器gc和gccgo。官方編譯器在初期使用C寫成,後用Go重寫從而實現自舉。Gccgo是一個使用標準GCC作為後端的Go編譯器。
- 參考資料
-
- 1. "Additional IP Rights Grant". The Go Programming Language. Google. Retrieved October 5, 2012.
- 2. All releases - The Go Programming Language .google.2020-01-05[引用日期2023-02-23]
- 3. Release History .go.2020-01-05[引用日期2023-02-23]
- 4. Copyright - The Go Programming Language .go.2020-01-05[引用日期2023-02-23]