Go是Google開發的一種編譯型,並發型,並具有垃圾回收功能的編程語言。
羅伯特·格瑞史莫(Robert Griesemer),羅勃·派克(Rob Pike)及肯·湯普遜於2007年9月開始設計Go語言,,稍後Ian Lance Taylor, Russ Cox加入項目中。Go語言是基於Inferno操作系統所開發的。Go語言於2009年11月正式宣布推出,成為開放源代碼項目,並在Linux及Mac OS X平台上進行了實現,后追加Windows系統下的實現。
Go語言的語法接近C語言,但是對於變數的聲明是不同的,其他語法不同之處是For循環和if判斷式沒有括弧圍繞。Go語言支持垃圾回收功能。Go語言的并行模型是以東尼·霍爾的CSP為基礎,採取類似模型的其他語言包括occam和Limbo,但它也具有Pi運算的特徵,比如通道傳輸。
與C++相比,Go語言並不包括如異常處理、繼承、泛型、斷言、虛函數等功能,但增加了slice型、併發、管道、垃圾回收、介面(interface)等特性的語言級支持。當然,Google 對於泛型的態度還是很開放的,但在該語言的常見問題列表中,對於斷言的存在,則持負面態度,同時也為自己不提供類型繼承來辯護。不同於Java,Go語言內嵌了關聯數組(也稱為哈希表(hashes)或字典(dictionaries)),就像字元串類型一樣。
簡單的Hello World程序:
1 | package main |
2 | import "fmt" |
3 | func main() { |
4 | fmt.Printf( "Hello, 世界\n" ) |
5 | } |
Go 1.3 正式版發布了,下載地址:http://golang.org/dl/
更新說明: http://tip.golang.org/doc/go1.3
值得關注的有:
不再支持 Windows 2000;
BSD 和 Solaris 系統支持;
支持 Native Client 虛擬機架構;
內存模型的改變;
垃圾收集器增強;
go 命令增加很多新參數;
性能方面的提升;
[火星人 ] Go 1.3 正式版發布已經有963次圍觀