Go語言屬于一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言;Go語言也是谷歌推出的一種全新的編程語言,可以在不損失應用程序性能的情況下降低代碼的復雜性。
Go(又稱Golang)是Google開發的一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言。
羅伯特·格瑞史莫、羅勃·派克(Rob Pike)及肯·湯普遜于2007年9月開始設計Go,稍后Ian Lance Taylor、Russ Cox加入項目。Go是基于Inferno操作系統所開發的。
Go于2009年11月正式宣布推出,成為開放源代碼項目,支持Linux、macOS、Windows等操作系統。在2016年,Go被軟件評價公司TIOBE 選為“TIOBE 2016 年最佳語言”。
目前,Go每半年發布一個二級版本(即從a.x升級到a.y)。
Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Go的并行模型是以東尼·霍爾的通信順序進程(CSP)為基礎,采取類似模型的其他語言包括Occam和Limbo,但它也具有Pi運算的特征,比如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。
與C++相比,Go并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數等功能,但增加了 切片(Slice) 型、并發、管道、垃圾回收、接口(Interface)等特性的語言級支持。Go 2.0版本將支持泛型,對于斷言的存在,則持負面態度,同時也為自己不提供類型繼承來辯護。
不同于Java,Go內嵌了關聯數組(也稱為哈希表(Hashes)或字典(Dictionaries)),就像字符串類型一樣。
GO語言編譯器
當前有兩個Go編譯器分支,分別為官方編譯器gc和gccgo。官方編譯器在初期使用C寫成,后用Go重寫從而實現自舉。Gccgo是一個使用標準GCC作為后端的Go編譯器。
官方編譯器支持跨平臺編譯(但不支持CGO),允許將源代碼編譯為可在目標系統、架構上執行的二進制文件。
本文來自網絡 由藍暢整理,經授權后發布,本文觀點不代表Infocode藍暢信息技術立場,轉載請聯系原作者。