[轉] Go語言資料收集
Go語言資料收集
說明
- 發布站點 GitHub CSDN 新浪
- 最后更新 2012-02-11 添加最新Weekly版、Go1最新資料,詳見 變更記錄
- 緣起說明 想學習稱手的新語言,發現Go后非常感興趣,也把接觸到的一些資料整理共享出來。
- 資料若有錯誤或缺漏,或者大家有更好的建議,歡迎 郵件聯系 可看 已收集建議
- 收集原則 盡量收集原創鏈接,有時會記錄一些學習心得,或摘錄一些啟發自己的原文
- 如果同學們覺得內容還有點幫助,歡迎轉載,指明原始出處更好,謝謝! (^_^)
網址導航
搜索引擎
官方資源
版本安裝
參考手冊
學習資料
- 官方博客 (網址)
- 社區Wiki (網址)
- 常見問題 (發布版 weekly 譯)
- Go在線運行 (運行分享 例子代碼 chrome插件)
- Go語言之旅 (英文版 源碼 譯1 譯2 中文版)
- Go語言教程 (發布版 weekly 譯1 譯2 譯3)
- 三日教程 (第一天:基礎 PDF下載)
- (第二天:類型、方法、接口 PDF下載)
- (第三天:并發和通訊 PDF下載)
- Go語言有效編程 (發布版 weekly 譯1 譯2 譯3)
- 如何編寫Go程序 (發布版 weekly 譯1 譯2)
- 語言內存模型 (發布版 weekly 譯)
- C++程序員指南 (發布版 weekly 譯)
- 使用GDB調試Go代碼 (發布版 weekly)
- Codewalks:代碼漫步 (發布版 weekly)
- Codelab:編寫Web程序 (發布版 weekly 譯)
項目開發
郵件列表
- golang-nuts (討論用Go開發)
- golang-china (討論用Go開發,都是中文兄弟)
- golang-dev (討論Go自身開發)
- golang-checkins (匯集Go提交信息)
- golang-announce (Go版本發布的通知)
- google-appengine-go (討論GAE的Go支持)
其他資源
cat-v
- 書籍 文章 講演 IRC日志
- 相關開發工具
- 支持Go的編輯器
- 用Go開發的產品
- 用cgo綁定的C庫
- 用Go直接開發的庫
- 使用Go的組織
- 各方人士評價Go開發
- 大學Go培訓課程情況
- Go語言其他實現
- Go支持的CPU架構
- Go支持的操作系統
- 各操作系統下的安裝包
網站
博客
新聞資料
2012年
2011年
- 2011-11-17 谷歌將在明年初推出Go語言首個正式版本1.0 新聞
- 2011-11-10 Go語言兩周年 官方博文(譯)
- 2011-10-11 Go App Engine SDK 1.5.5發布 官方博文(譯)
- 2011-10-05 Go 1 預覽 官方博文(譯)
- 2011-07-21 Go在App Engine現在已經公開可用了 官方博文 新聞1 新聞2
- 2011-06-03 Google 推出 C++ Go Java Scala的基準性能測試 新聞
- 2011-05-18 Dr. Dobb’s對Ken Thompson的采訪 原文(譯)
- 2011-04-16 Brad Fitzpatrick 正式參與到 Go 語言項目中 新聞
- 2011-04-13 Rob Pike談Google Go:并發,Type System,內存管理和GC 新聞
- 2011-05-23 Go在Google I/O 2011:視頻 官方博文(可參見后文講演視頻)
- 2011-03-16 Go變得更加穩定了 官方博文
2010年
- 2010-11-10 Go語言一周年 官方博文(譯1 譯2)
- 2010-10-12 Google解決Go語言名稱問題 新聞
- 2010-09-15 Go Playground介紹 官方博文 新聞
- 2010-09-06 Go 榮獲 2010 Bossie 獎 官方博文(譯)
- 2010-07-22 Go語言創始人對Java、C++的復雜性不滿 新聞(譯)
- 2010-06-06 Go在Google I/O 2010:視頻 官方博文(可參見后文講演視頻)
- 2010-05-27 Go在Google I/O 2010:常見問題 官方博文(譯)
- 2010-05-12 Go在Google I/O 2010:即將來臨 官方博文
- 2010-05-05 新的談話和教程 官方博文
- 2010-03-18 Go:2010年3月的最新消息 官方博文
- 2010-01-29 GCC宣布對Go語言的支持 新聞
- 2010-01-11 1月編程榜發布:Google Go意外奪得年度編程語言 新聞
2009年
官方資料
官方博文
語言
包
工具
2011年其他博文
- 2011-12-21 調查Go社區情況 原文
- 2011-12-19 使用Go開發StatHat 原文
- 2011-12-13 從零到Go:24小時內登上Google主頁的Go語言應用“火雞”doodle開發紀實 原文(譯)
- 2011-11-01 編寫可擴展的App Engine應用 原文
- 2011-10-30 使用GNU調試器調試Go代碼 原文(譯)
- 2011-10-04 從瀏覽器中學習Go 原文
- 2011-09-01 兩個Go演講:“Go的詞匯掃描”和“Cuddle:一個App Engine演示” 原文 詞匯掃描優酷視頻 AppEngine優酷視頻
- 2011-06-30 “Go中的一級函數”和新的教程說明 原文
- 2011-06-03 Go外部庫的關注 原文
- 2011-05-10 Go和Google App Engine 原文(譯)
- 2011-04-21 Go在Heroku中的應用 原文(譯1 譯2)
- 2011-04-15 Gofix介紹 原文(譯1 譯2 譯3)
2010年其他博文
社區Wiki
講演視頻
- 用Go寫web程序 優酷視頻 優酷視頻 油Tube視頻
- Rob Pike 和 Andrew Gerrand 在 Google I/O 2011 大會上的談話
- 回顧一個簡單web應用的架構和開發,揭示 GAE 上的 Go實現
- 現實中的Go語言 PDF 土豆視頻
- Andrew Gerrand 在 在Google I/O 2011 訓練營(Boot Camp)上的談話
- 概述了Go語言的類型系統和并發模式,并提供四個用Go程序解決實際問題的案例
- Go語言編程 優酷視頻 油Tube視頻
- Rob Pike 和 Russ Cox 在 Google I/O 2010 大會上的演講
- 通過一些表現Go語言特性的樣例,揭示了Go與其他語言的不同
- 內容涉及并發、內置類型、方法和其他類型、通過接口構建程序
- Go語言編程實踐 幻燈 優酷視頻
- 談及使用Go語言開發一個完整的web應用
- 通過一個簡單的短地址服務,揭示設計、存儲、并發、擴展性等細節
- Go語言技術座談 PDF 優酷視頻(英文字幕) 油Tube視頻 相關新聞
- Rob Pike 2009年10月在google的一次四小時演講
- Go語言的第一次公開介紹,這以后Go語言不斷在發展改變,但這次介紹依然是出色的
- 油Tube上的Go編程頻道 頻道
- 富于表現力的Go語言 PDF
- Rob Pike 在 2010 JAOO 大會上的演講
- 談到 Go 語言富于表現力,又容易理解
- 不同設計的Go語言 演講介紹 PDF 優酷視頻 Pike在56:19時出現
- Rob Pike 在2010開源技術大會上的演講
- 為不了解Go語言的聽眾,提供的教程,介紹Go語言相關背景和重要特性。
- Public Static Void 演講介紹 PDF 優酷視頻
- Rob Pike 在2010開源技術大會上的演講
- 反思面向對象的編程
- 新興語言Go的演講 演講介紹 PDF
- Rob Pike 在2010開源技術大會上,對新興語言Go的演講
- 摘要:Go在并發性上和大多數語言都不同,即便是以并發為中心的Erlang等。 回顧了從Hoare的1978年論壇到Go的歷程,深刻介紹Go怎樣以及為什么這樣做
- Go語言的GCC前端 PDF
- Ian Lance Taylor 在 GCC 2010 峰會上的演講
- 談到了對GCC的Go語言前端
- Go語言的宣傳視頻 優酷視頻 油Tube視頻
- Russ Cox 演示Go語言的快速編譯
開發團隊
- Ken Thompson 百度百科
- Unix之父,1983年圖靈獎(Turing Award)和1998年美國國家技術獎(National Medal of Technology)得主。
- 是Unix操作系統、Plan9操作系統、UTF-8編碼和B編程語言(C的前身)的創立者之一。
- 94年底跑到莫斯科開米格29戰機,然后2000年從貝爾實驗室正式退休全職飛行。2007年加入谷歌
- Rob Pike 個人網站 Google介紹
- 曾在貝爾實驗室工作,是Unix操作系統、Plan9操作系統、Limbo編程語言和UTF-8編碼的主要設計者,
- 還有兩本書The Unix Programming Environment和The Practice of Programming;
- Robert Griesemer
- 曾協助制作Java的HotSpot編譯器,和Chrome瀏覽器的JavaScript引擎V8。
- Ian Lance Taylor 博客
- GCC社區的超級活躍人物,是gold連接器和GCC過程間優化LTO的主要設計者之一,是Zembu公司的創始人之一。
- Russ Cox 博客
- Plan9圈子的名人。也可以說是Ken/Dennis/Rob的Unix衣缽的傳承人。
- 讀高中時就連續三年代表美國參加國際信息學奧林匹克競賽。然后在MIT直到2008年博士畢業。
- 他把Plan9操作系統的運行環境幾乎完整的移植到Linux,FreeBSD和MacOSX上。
- Andrew Gerrand 博客
- Brad Fitzpatrick
- 訪談Brad Fitzpatrick—《編程人生》
- 80后,五歲學編程
- 綜合型SNS交友網站 LogoLiveJournal 創始人,后賣出
- 網站日漸流行使其開發了memcached 、Perlbal 和 MogileFS等開源項目
- 2007 年選擇加入Google,2011年4月16日全職加入 Go 項目
其他資料
書籍教程
- 2011-11-22 《Go Book》Miek Gieben
- 2011-11-10 《Learning Go》
- 書籍: 原文網址 《學習Go語言》中文
- 作者: Miek Gieben (博客)
- 2011-10-16 《Network programming with Go》 Jan Newmarch 原文
- 《Go語言網絡編程》
- 2011-05-21 《GoLang Tutorials》 Sathish VJ 原文
- 《Go語言教程》
- 2010-02-22 《Go語言入門教程》 柴樹杉 地址
- 2010-01-15 《Google Go: A Primer》 Samuel Tesla 原文
- 翻譯: 《Google Go 初級讀本》
實踐與評價 2011
- 2011-12-26 《Uniqush: 服務器端手機推送平臺》
- Uniqush(介紹帖 主頁 配圖說明 源碼) Go體會帖
- 作者 monnand :已有十年開發經驗,第一語言是C,用C/C++, Python, Perl,現在也用go,偶用java
- Uniqush是用Go開發的服務系統,開源,可自行搭建服務
- 常見智能手機平臺都會提供云服務,負責向手機客戶端推送消息(Google的android是C2DM,蘋果叫APNS等)
- uniqush 抽象了官方云服務調用接口,開發者可以用統一的接口,開發推送消息的代碼
- 后續支持更多云服務,另外還將提供客戶端開發庫
- Go體會
- Go標準庫變化太快,等Go1了
- Gointerface最大好處在于,可以先實現后抽象
- goroutine 很適合多核,配合channel很方便很好用
- 內置map很方便,slice很好用...提高開發效率
- 面向對象?常用的設計模式都可以用Go來實現。你還要啥自行車呢?
- 效率!它是個編譯語言!它要有效率!
- 2011-12-19 《使用Go開發StatHat》
- 2011-12-13 《Google 主頁“火雞”應用開發紀實》
- Go官方博文 (譯) 源碼
- 作者Reinaldo Aguiar:是Google 搜索團隊軟件工程師
- App Engine runtime 選型:圖像處理任務極度依賴 CPU...性能是決定性因素。
- Python 2.7 應用處理請求的中位響應時間為 65 毫秒,而 Go 是 32 毫秒。
- 此前我對 Go 語言毫無經驗,而時間又很緊:兩天內達到生產需求。
- Go 語言的語法直觀、簡單且潔凈。我過去常與解析型語言打交道,盡管 Go 是靜態類型系統的編譯型語言,編寫這款應用的感覺卻更像是在用動態解析型語言。
- Go 語言優秀的文檔也幫助了我迅速完成開發...鼓勵開發者深入挖掘軟件包的實現,簡化了對良好編程風格與規則的掌握。
- 2011-10-19 《從 Erlang 到 CERL 到 Golang》
- ECUG2011 Q盤主頁 PPT
- 作者許式偉:金山高手,后到盛大創新院,現為QBox.me創始人,ECUG發起人
- Q盤QBOX.ME:服務端 99% 代碼基于 Golang、累計約 10w 行 Golang 代碼
- Go類型系統
- 理念:除了不推薦操作符重載外,User Type 與內置類型沒有任何區別。
- 沒有隱式的類型轉換、沒有重載、沒有繼承,只有組合(匿名組合可達部分繼承效果)
- Go內存管理:Gc、透明(自動選擇何時使用棧,何時使用堆)
- Go非侵入性接口:代碼解耦,按需定義,無需事先進行 “統籌”
- 錯誤處理:defer;進程:goroutine;程通信:channel
- 風險:新模塊可嘗試Go,推薦服務端,Go變化快,小眾
- 2011-11-19 《Thinking in Go》
- ECUG Con 2011大會 演講PPT
- 作者韋光京:基金買賣網CTO。Go語言尤其是Windows平臺移植的積極貢獻者。
- 為什么喜歡Go:向Unix致敬、C+Python動靜相宜、語法可讀性強、開源、just for fun
- 一些特別地方:自動類型推導減少打字
- 非常實用工具:Gofmt格式化代碼、Gofix自動更新代碼、Godoc從Go代碼中生成文檔、Gotest 測試框架Gotest測試框架、Gotest測試框架、Goinstall下載并編譯安裝庫
- 跨平臺,交叉編譯(設置GOOS,GOARCH環境變量)
- Google App Engine支持
- 沒有類的面向對象機制
- 任何類型都可以有方法,任何類型都可以是對象
- Interface強制數據和代碼分離
- 繼承通過嵌入來實現(Mix-in)
- 沖突的簡單處理
- 動態特性:Duck typing(Interface定義方法集合,任何類型實現了這些方法就實現了這個interface)
- 反射:Interface {} TypeOf ValueOf SetXXX
- 并發:
- 語法級支持(Goroutines、Channel);
- Channel is First class(Channel傳遞的消息可以是channel)
- 用同步的方式來簡化并發編程;
- Communicating Sequential Processes (CSP)
- 2011-11-19 《golang 開發實踐》
- ECUG Con 2011大會 演講PPT 博文 源碼
- 作者邢興:39 健康網技術副總監
- gearman 是分發任務的高效服務器框架。
- gearman-go 是用go語言寫的worker API
- 2011-06-07 《Go編程語言,或者:為什么除了它,其他類C語言都是垃圾》
- 2011-04-21 《Go在Heroku中的應用》
- Go官方博文 (譯1 譯2) Doozer(介紹 源碼 中文介紹)
- 作者Keith Rarick 和 Blake Mizerany:是 Heroku 的系統工程師
- 使用Doozer解決分布式系統物理服務器間的協作問題
- Doozer是用Go編寫的,新的、一致性的、高可用的數據存儲
- Go 原生的并發機制使得這個任務更加簡單
- 垃圾回收機制改進了 malloc 和 free
- goroutine 和 channel 改進基于鎖的并發
- Go標準包是在 Doozer 上的另一個巨大成功
- 最喜歡的生產力提高來自于 Go的代碼格式化工具:gofmt
- Go靜態連接意味著 Doozer 無序額外的依賴
- Go簡潔的設計哲學與我們對軟件工程的認識令人發狂的一致。
- 將來的項目中使用 Go 已經有了一些想法。Doozer 對于一個大系統來說只是剛剛開始。
- 2011-03-30 《關于go語言》
- 博文
- 作者:騰訊soso王益
- 這只螃蟹很好吃;向大家推薦。
- 總體感覺:語法簡單、編譯速度非常快、開發效率非常高
- 我從高一開始寫C++程序,這么些年里對Java、Python之流是學懂了就煩了放棄了,只有對C++忠貞不二;但是用了Go之后,現在已經不想再用C++寫程序了。
- 另外從多個方面談了自己的體會:Go vs C++、Class、Class Hierarchy、String、UTF 和 XML、STL vector 和 map、Containers、Closure 和 Callback、Multi-threading 和 Synchronization、Protocol Buffer、Go進程間通信、格式化輸出、gflags、glog、HTTP Server、self-compilation、從Go調用C/C++
- 2011-03-26 《Go語言Web開發》
- 2011-02-27 《Go語言》
- 2011-02-27 《Go集成C和C++代碼》
實踐與評價 2010
- 2010-12-13 《beansdb 卷土重來》
- 博文 另參見 Go 語言中手動內存管理
- 作者劉洪清:豆瓣工程師
- BeansDB(豆瓣開源數據存儲系統)
- 部署時的代理層用 go
- 2010-11-18 《Go 語言初步》 云風 原文
- mix-in 的接口風格。非常接近于我在用 C 時慣用的面向對象風格
- 強類型系統。使得犯錯誤的機會大大降低。
- 而編寫程序又有點使用 lua 這種動態語言的感覺,總之,寫起來很舒服。
- 內置的 string / slice 類型,以及 gc 。這是我覺得現代編程必須的東西。
- defer 是個有趣使用的東西,用它來實現 RAII 比 C++ 利用棧上對象的析構函數的 trick 方案讓人塌實多了。
- zero 初始化。我一直覺得 C++ 的構造函數特別多余。
- 包系統特別的好。而且嚴格定義了包的初始化過程,即 init 函數。
- goroutine 是個相當有用的設計。
- 我發現我花了四年時間錘煉自己用 C 語言構建系統的能力,試圖找到一個規范,可以更好的編寫軟件。結果發現只是對 Go 的模仿。缺乏語言層面的支持,只能是一個拙劣的模仿。
- 學習新東西還是很累的。好在 Go 的各種設計都非常切合我的本意,所以自然是越寫越舒服了。
- Go 的引用和值分得很清楚,這使它更像 C 而不是 Java ,卻又提供了 C++ 提供不了的安全性。
- 用 Go 寫網絡程序,真是非常舒心。socket 和 file 在 interface 上的統一,暗合 Unix 之道。程序嘛,就是處理輸入,產生輸出。Reader 和 Writer 接口讓人愉快。
- 2010-04-25 《Go語言: 互聯網時代的C》 李兆海
- 2010-01-21 《Go Lang介紹》 余峰 原文
- 2010-01-17 《使用go語言一個月的認識》 life 原文
- 2009-11-11 《C, Erlang, Java 和 Go Web Server 性能測試》 Tim 原文
開源項目
工具系列
專題文章
數據結構
- 2010-05-28 《Google Go!》 Martin Aigner 和 Alexander Baumgartne PDF
- 用圖形講解數據類型、new、make和通道
cgo
- 2011-09-26 Rob Thornton 《Experimenting with Cgo》
本文由用戶 灬猜想灬 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!