go語言學習初體驗

jeanron100發表於2018-05-09

我們暫時先拋開go語言,我們們說下行業裡近兩年的哪些技術發展最火,毫無疑問是Docker和Kubernetes,沒錯,他們是go語言的頂級專案。

go語言在Google內部孵化,並有了很大的用武之地,和作者的權威也是分不開的。三位作者分別是:

Robert Griesemer, Rob Pike 和 Ken Thompson。

Robert在開發Go之前是Google V8、Chubby和HotSpot JVM的主要貢獻者;Rob主要是Unix、UTF-8、plan9的作者;Ken主要是B語言、C語言的作者、Unix之父。最後一位可是爺爺輩的,和c語言之父丹尼斯.裡奇是一輩的。

go語言學習初體驗

我們經常會聽到也有叫golang的,其實go語言的全稱是:go programming language。

一種解讀是:go 這個詞太通用了,搜尋引擎不能很好辨認,所以習慣叫golang.

一種是較為正統的解讀,以下引用自知乎:

作者:Weixk

連結:

來源:知乎

我在《程式碼的未來》一書中看到了關於Go和Golang兩種叫法的由來。

書中3.2章節最後一部分寫道:

說句題外話,其實在Go出現很久以前,就已經存在一種叫做“Go!”的語言了。由於Google奉行“不作惡”(Don't be evil)的信條,因此網上很多人認為Go應該改名。

話說,語言名稱撞車也不是什麼新鮮事(用Ruby這個名字的程式語言也有好幾個),不過網上有人推薦將Go語言改成Golang或者Issue-9。前者來自Go官方網站的域名(),後者則是來自“已經有一個叫Go!的語言了,請改名”這個問題報告的編號。

對於go語言的理解,它不同於 Java,Go是編譯生成機器碼,並被直接執行,非常類似 C。而Java執行是基於Java虛擬機器。

從語言的發展來說:

Java是從1990年的雛形到1995年的正式發行已經過去20多年,期間Java的東家從SUN公司辯稱甲骨文公司,後來還成為甲骨文與谷歌之間逐力的砝碼。

相較而言,Go語言的背景更為清晰可靠,它是Google開發的,同時它也比Java年輕十四年(2009年釋出)

go還有哪些重量級的專案呢?我引用了一下:

Docker

Kubernetes

Codis

TiDB-Server

etcd - 可靠的分散式 key-value 儲存,用於分散式系統的最關鍵資料

influxdb - 開源的分散式指標、事件和實時分析的可擴充套件資料庫

go-mysql - Go 實現的用於處理 MySQL 協議和複製的工具集

如果學習,還有線上網站。

下載的話其實還是比較省事的,最新版本是1.10.2

go語言的一些簡單除錯:

go語言學習初體驗

go語言學習初體驗

簡單總結下:

Java 是企業開發語言, Go 則是系統開發語言。

go介於Java和Python之間,有Java的效能,有Python的簡潔。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-2154201/,如需轉載,請註明出處,否則將追究法律責任。

相關文章