go學習【一】介紹

寫Go學習的主要目的是爲了對本身學習Go的知識做一次系統性的梳理前端

Go 語言起源 2007 年,並於 2009 年正式對外發布。它從 2009 年 9 月 21 日開始做爲谷歌公司 20% 兼職項目,即相關員工利用 20% 的空餘時間來參與 Go 語言的研發工做。該項目的三位領導者均是著名的 IT 工程師:Robert Griesemer,參與開發 Java HotSpot 虛擬機;Rob Pike,Go 語言項目總負責人,貝爾實驗室 Unix 團隊成員,參與的項目包括 Plan 9,Inferno 操做系統和 Limbo 編程語言;Ken Thompson,貝爾實驗室 Unix 團隊成員,C 語言、Unix 和 Plan 9 的創始人之一,與 Rob Pike 共同開發了 UTF-8 字符集規範。自 2008 年 1 月起,Ken Thompson 就開始研發一款以 C 語言爲目標結果的編譯器來拓展 Go 語言的設計思想。node

這是一個由計算機領域 「發明之父」 所組成的黃金團隊,他們對系統編程語言,操做系統和並行都有着很是深入的看法git

圖片描述
圖 1.1 Go 語言設計者:Griesemer、Thompson 和 Pikegithub

在 2008 年年中,Go 語言的設計工做接近尾聲,一些員工開始以全職工做狀態投入到這個項目的編譯器和運行實現上。Ian Lance Taylor 也加入到了開發團隊中,並於 2008 年 5 月建立了一個 gcc 前端。golang

Russ Cox 加入開發團隊後着手語言和類庫方面的開發,也就是 Go 語言的標準包。在 2009 年 10 月 30 日,Rob Pike 以 Google Techtalk 的形式第一次向人們宣告了 Go 語言的存在。編程

直到 2009 年 11 月 10 日,開發團隊將 Go 語言項目以 BSD-style 受權(徹底開源)正式公佈在 Linux 和 Mac OS X 平臺上的版本。Hector Chu 於同年 11 月 22 日公佈了 Windows 版本。後端

做爲一個開源項目,Go 語言藉助開源社區的有生力量達到快速地發展,並吸引更多的開發者來使用並改善它。自該開源項目發佈以來,超過 200 名非谷歌員工的貢獻者對 Go 語言核心部分提交了超過 1000 個修改建議。在過去的 18 個月裏,又有 150 開發者貢獻了新的核心代碼。這儼然造成了世界上最大的開源團隊,並使該項目躋身 Ohloh 前 2% 的行列。大約在 2011 年 4 月 10 日,谷歌開始抽調員工進入全職開發 Go 語言項目。開源化的語言顯然可以讓更多的開發者參與其中並加速它的發展速度。Andrew Gerrand 在 2010 年加入到開發團隊中成爲共同開發者與支持者。瀏覽器

在 Go 語言在 2010 年 1 月 8 日被 Tiobe(聞名於它的編程語言流行程度排名)宣佈爲 「2009 年年度語言」 後,引發各界很大的反響。目前 Go 語言在這項排名中的最高記錄是在 2010 年 2 月創下的第13名,流行程度 1778%。服務器

時間軸:app

2007 年 9 月 21 日:雛形設計
2009 年 11 月 10日:首次公開發布
2010 年 1 月 8 日:當選 2009 年年度語言
2010 年 5 月:谷歌投入使用
2011 年 5 月 5 日:Google App Engine 支持 Go 語言
從 2010 年 5 月起,谷歌開始將 Go 語言投入到後端基礎設施的實際開發中,例如開發用於管理後端複雜環境的項目。有句話叫 「吃你本身的狗食」,這也體現了谷歌確實想要投資這門語言,並認爲它是有生產價值的。

Go 語言的官方網站是 golang.org,這個站點採用 Python 做爲前端,而且使用 Go 語言自帶的工具 godoc 運行在 Google App Engine 上來做爲 Web 服務器提供文本內容。在官網的首頁有一個功能叫作 Go Playground,是一個 Go 代碼的簡單編輯器的沙盒,它能夠在沒有安裝 Go 語言的狀況下在你的瀏覽器中編譯並運行 Go,它提供了一些示例,其中包括國際慣例 「Hello, World!」。

更多的信息詳見 github.com/golang/go,Go 項目 Bug 追蹤和功能預期詳見 github.com/golang/go/issues。

Go 經過如下的 Logo 來展現它的速度,並以囊地鼠(Gopher)做爲它的吉祥物。

圖片描述

圖1.2 Go 語言 Logo

谷歌郵件列表 golang-nuts 很是活躍,天天的討論和問題解答數以百計。

關於 Go 語言在 Google App Engine 的應用,這裏有一個單獨的郵件列表 google-appengine-go,不過 2 個郵件列表的討論內容並非分得很清楚,都會涉及到相關的話題。go-lang.cat-v.org/ 是 Go 語言開發社區的資源站,irc.freenode.net 的#go-nuts 是官方的 Go IRC 頻道。

@golang 是 Go 語言在 Twitter 的官方賬號,你們通常使用 #golang 做爲話題標籤。

這裏還有一個在 Linked-in 的小組:www.linkedin.com/groups?gid=2524765&trk=myg_ugrp_ovr。

Go 編程語言的維基百科:en.wikipedia.org/wiki/Go_(programming_language)

Go 語言相關資源的搜索引擎頁面:gowalker.org

Go 語言還有一個運行在 Google App Engine 上的 Go Tour,你也能夠經過執行命令 go install go-tour.googlecode.com/hg/gotour 安裝到你的本地機器上。對於中文讀者,能夠訪問該指南的 中文版本,或經過命令 go install https://bitbucket.org/mikespook/go-tour-zh/gotour 進行安裝。
內容引自:the-way-to-go_ZH_CN

相關文章
相關標籤/搜索