Go Wiki: Go 講座
請訪問 http://talks.golang.org 檢視一些講座的簡報。如需全面、精選且可搜尋的索引,請嘗試 Damian Gryski 的 GopherVids。
官方
入門講座
Go 簡介。
Russ Cox 的 Go 之旅
[影片和討論]
讓 Go 快速、有趣且高效的三個要素:介面、反射和併發。透過構建一個玩具網路爬蟲來演示這些功能。
Go:一個簡單的程式設計環境
Go 是一種通用語言,它彌合了高效的靜態型別語言和高效的動態語言之間的差距。但讓 Go 獨一無二的不僅僅是語言本身——Go 擁有廣泛且一致的標準庫以及強大而簡單的工具。
本次講座將介紹 Go,然後瀏覽一些真實的程式,這些程式展示了 Go 程式設計環境的強大功能、範圍和簡潔性。
Go 入門
[影片]
在本節中,您將瞭解該語言及其標準庫和工具,我們將介紹 Go 的安裝和編寫一些簡單但有用的程式。
Go 程式設計
Rob Pike 和 Russ Cox 在 Google I/O 2010 上發表的簡報。它透過一組示例演示了 Go 的獨特功能,從而說明了 Go 程式設計與其他語言的不同之處。其中包括併發、嵌入型別、任何型別上的方法以及使用介面進行程式構建。
Go 技術講座
Rob Pike 於 2009 年 10 月在 Google 發表的為期一小時的講座。該語言首次公開介紹。該語言自發布以來已有所更改,但它仍然是一個很好的入門介紹。
Go 開發
使用 Go 編寫 Web 應用
Rob Pike 和 Andrew Gerrand 在 Google I/O 2011 上發表的講座。它逐步介紹了簡單 Web 應用程式的構建和部署,並推出了 Go App Engine 執行時。
真實世界的 Go
Andrew Gerrand 在 Google I/O Bootcamp 2011 上發表的講座。它概述了 Go 的型別系統和併發模型,並提供了四個解決實際問題的 Go 程式示例。
在 Google 雲平臺上構建整合應用
[影片]
Andrew Gerrand 在 2011 年 Google 日本開發者日上發表的講座。它討論了一個 Web 應用程式的開發,該應用程式執行在 Google App Engine 上,並渲染儲存在 Google Cloud Storage 上的光線追蹤影像。
使用 Go 在 App Engine 上構建高效能應用
Google I/O,2013 年 5 月
實用的 Go 程式設計
本次講座介紹了 Go 中完整 Web 應用程式的開發。它以 URL 縮短服務這個簡單示例,詳細探討了設計、儲存、併發和擴充套件問題。
Go 中的詞法掃描
[影片]
Rob Pike 在 GTUG 上的講座討論了詞法掃描器的詳細設計,該掃描器以富有表現力的方式結合使用了 Go 的功能。(接近尾聲的關於避免在初始化時使用 goroutine 的討論已經過時:Go 1 允許在 init 函式中使用 goroutine,因此額外的複雜性是不必要的。)
Go 在生產環境中的應用
Google I/O,2012 年 6 月
[影片]
自 Go 於 2009 年釋出以來,許多公司(當然除了 Google)都使用該語言構建了很棒的東西。在本屆會議中,來自幾家公司的程式設計師將分享他們在生產環境中使用 Go 的第一手經驗。
Go:優雅成長的程式碼
Go 程式語言的關鍵設計目標之一是程式碼適應性;即應該很容易採用簡單的設計並以清晰自然的方式在其基礎上進行構建。在本次講座中,我描述了一個簡單的“聊天輪盤”伺服器,該伺服器匹配傳入的 TCP 連線對,然後使用 Go 的併發機制、介面和標準庫來擴充套件它,添加了 Web 介面和其他功能。儘管程式的功能發生了巨大變化,但 Go 固有的靈活性允許原始設計在成長過程中保持不變。
實現一個大數計算器
Rob Pike 描述了他的 APL 式計算器語言直譯器。
Go 中的 Go
Rob Pike 談論將 Go 工具鏈從 C 遷移到 Go
Go 中的併發
Go 併發模式
Google I/O,2012 年 6 月
[影片]
高階併發模式
Google I/O,2013 年 5 月
併發是設計高效能網路服務的關鍵。本次講座在前一年的熱門 Go 併發模式講座的基礎上,更深入地探討了 Go 的併發原語,並展示瞭如何用簡單的 Go 程式碼優雅地解決棘手的併發問題。
Go 的設計
Go 的表現力
[幻燈片]
討論使 Go 成為一種富有表現力且易於理解的語言的特性。該講座由 Rob Pike 在 JAOO 2010 上發表。該活動的錄音因硬體錯誤而丟失。
Go 語言設計的另一次嘗試
針對該語言的新受眾,介紹 Go 的主要特性並提供一些背景資訊。該講座於 2010 年在 OSCON 上發表。本次講座也於 2010 年 9 月在悉尼大學發表。
Go 新興語言大會講座
Rob Pike 於 2010 年 7 月在新興語言大會上發表的演講。講座摘要
Go 的併發方法與許多語言(即使是那些(如 Erlang)將併發作為核心的語言)不同,但它有著深厚的根基。從 Hoare 1978 年的論文到 Go 的發展路徑,提供了對 Go 如何以及為何如此運作的見解。
Go 的現狀
2014 年 6 月
2015 年 2 月
2015 年 5 月
雜項
GCC 的 Go 前端
[論文]
GCC 的 Go 語言前端描述。Ian Lance Taylor 在 2010 年 GCC 峰會上發表的論文。
Go 宣傳影片
[影片]
一段由 Russ Cox 演示 Go 快速編譯器的短片。
認識 Go 團隊
Google I/O,2012 年 6 月
[影片]
David Symonds、Robert Griesemer、Rob Pike、Ken Thompson、Andrew Gerrand 和 Brad Fitzpatrick 的小組討論。
與 Go 團隊的爐邊談話
Google I/O,2013 年 5 月
[影片]
與 Andrew Gerrand、Brad Fitzpatrick、David Symonds、Ian Lance Taylor、Nigel Tao、Rob Pike、Robert Griesemer、Sameer Ajmani 的爐邊談話。
Gopher 的現狀
非官方
社群成員的講座。
Let's Go,或 Go 簡介
[影片 (從 14:35 開始)] [幻燈片] [原始碼]
本次講座介紹了俄語 Go。
什麼是 Go 模組以及如何使用它們?
Go 1.11 中還有什麼
Go 1.11 版本搶先看
WebAssembly 入門
Johan Brandhorst 在 LondonGophers
[影片] [幻燈片] [wasm 程式碼] [grpc 程式碼]
在本次講座中,Johan 向您介紹了 Go 1.11 中的 WebAssembly 埠,以及它如何在處理 JavaScript 混亂時提供幫助 :)
Go 和 Mongo - 以及它的變化
DJ Walker-Morgan 在 LondonGophers
使用 Go 構建一個簡單的併發教學語言
在本次講座中,Nicholas 介紹了用 Go 實現的一種旨在教授併發理論(程序演算)的簡單語言的設計和實現。他涵蓋了實現中使用的 Go 的一些靜態分析工具,並展示了您也可以如何使用它們!
Remoto 簡介
[影片]
Mat 分享了一個旨在簡化 RPC 服務構建的新專案的初步展示。gRPC 對客戶端(尤其是 Web 客戶端)來說並不好,而 RESTful 設計有時會導致混亂的 API。Remoto 允許您使用 Go 介面定義服務,並生成構建和使用服務所需的一切。
Go Swagger
Simone Trubian 在 LondonGophers
[影片]
Simone 概述了 Go Swagger 命令列工具,並簡要解釋了他如何使用它來提高 REST API 設計的生產力。
Go 中的 ORM
Renato Serra 在 LondonGophers
[影片]
Renato 解釋了 ORM 在哪些方面可以提供幫助,有哪些選擇,以及使用 ORM 的體驗如何。
Go 程式碼中未使用的引數
Daniel 談論瞭如何使用 SSA 和呼叫圖來編寫強大的程式碼分析工具。特別是,他演示瞭如何檢測函式中未使用的引數。
謊言、該死的謊言和基準測試
Amnon 在 LondonGophers
Amnon 討論了為什麼微基準測試在最佳化實際系統時會產生誤導,為什麼資料佈局通常比程式碼結構更重要,以及 Go 如何幫助我們追求效能。
從零開始的偵錯程式
Liz 透過用幾行 Go 程式碼構建一個偵錯程式來解釋偵錯程式的工作原理。這包括 Go 原始碼和其編譯成的機器程式碼指令之間的對映,以及使用 ptrace 系統呼叫設定斷點並檢查和修改正在執行的程序。
SDL 的快速分形樂趣
生成 Mandelbrot 和 Julia 集等影像的 Go 程式通常會輸出影像檔案。我將展示如何使用 Go 繫結來連線 Simple Directmedia Layer 庫,以便在顯示裝置上輸出它們。
併發:從 Ruby 到 Go 的旅程
Mathilda Thompson 在 LondonGophers
[影片]
多語言環境中的 Go
Kevin McKelvin 在 LondonGophers
[影片]
在本次講座中,Kevin 介紹了他在採用 Go、轉向多語言環境、成功與挑戰以及 Go 如何適應其公司整體架構和戰略方面的經驗。
交付 Go 服務
[影片]
交付 Go 服務:在公司引入 Go 並部署您的第一個 Go 服務之後,接下來的步驟是什麼?本次講座重點介紹了接下來的一些事情,涉及傳說中的“X(10、20、30)分鐘內將新服務投入生產”,以及在此過程中遇到的一些陷阱。
Go-ing Lambda
[影片]
Go-ing Lambda - 投入生產一年:我們 (FundApps) 如何在 Lambda 函式中使用 Go 構建一個用於匯入/抓取/解析金融服務資料以構建 API 的服務。Go 中 Lambda 函式的提示和技巧、限制、效能以及使用 Apex 框架。
RED 方法
[影片]
我們還將專門為那些正在招聘或正在尋找工作的人設立一個版塊(如果像上次一樣我們錯過了,請不要害怕提醒我們)。
濫用 Go 的 net 包以獲得樂趣和收益
Michał Witkowski 在 LondonGophers
[影片]
本次講座深入探討了 Go 基於組合的哲學(應用於 net 包)如何被創造性地利用,從而實現美觀且有用的技巧,顯著增強堆疊功能。我們將探索 net.Conn,以及如何以創造性的方式(濫)用它們。我們將一窺 net/http,並探討 http.Handler 和 http.Roundtripper 介面如何被創造性地挪用以構建有用的中介軟體。然後,我們將更深入地研究 net/http 內部及其與 tls.Conn 和 x/net/http2 的關係,以瞭解它們的工作原理,並利用這些知識演示我們一些最漂亮的技巧。
2018 年的 stringer
2018 年的 stringer - 新功能演示,您可能從未聽說過。
此內容是 Go Wiki 的一部分。