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 应用程序的构建和部署,并展示了App Engine 的 Go 运行时。
真实的 Go
Andrew Gerrand 在 Google I/O Bootcamp 2011 上发表的演讲。它对 Go 的类型系统和并发模型进行了广泛的概述,并提供了四个解决实际问题的 Go 程序示例。
在 Google 云平台上构建集成应用
[视频]
Andrew Gerrand 在 Google 开发者日日本 2011 上发表的演讲。它讨论了在 Google App Engine 上运行并渲染其存储在 Google Cloud Storage 中的射线追踪的 Web 应用程序的开发。
App Engine 上使用 Go 的高性能应用
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 月
[视频]
自 2009 年 Go 发布以来,许多公司(当然除了 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/0,2013 年 5 月
并发是设计高性能网络服务的关键。此演讲扩展了去年流行的 Go 并发模式演讲,深入探讨 Go 的并发原语,并了解如何使用简单的 Go 代码优雅地解决棘手的并发问题。
Go 的设计
Go 的表现力
[幻灯片]
讨论让 Go 成为一种富有表现力和易于理解的语言的品质。该演讲由 Rob Pike 在 JAOO 2010 上发表。由于硬件错误,该活动的录制已丢失。
另一种语言设计
对 Go 的主要功能进行的游览,并附有一些背景信息,适用于对该语言不熟悉的人群。该演讲在 OSCON 2010 上发表。该演讲还于 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 在 GCC 峰会 2010 上发表的论文。
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/0,2013 年 5 月
[视频]
与 Andrew Gerrand、Brad Fitzpatrick、David Symonds、Ian Lance Taylor、Nigel Tao、Rob Pike、Robert Griesemer、Sameer Ajmani 的炉边谈话。
Gopher 的状态
非官方
社区成员的演讲。
开始使用 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 程序通常会输出一个图像文件。我将展示如何使用 Simple Directmedia Layer 库的 Go 绑定将它们输出到显示设备上。
并发:从 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 包以获取乐趣和利润
[视频]
此讨论详细介绍了 Go 的基于组合的理念如何应用于 net 包,以及如何创造性地利用该理念来实现美观且有用的黑客技术,从而显著增强堆栈的功能。我们将探索 net.Conn,以及如何以创造性方式(滥)用它们。我们将深入了解 net/http,并探讨如何创造性地使用 http.Handler 和 http.Roundtripper 接口来构建有用的中间件。然后,我们将更深入地研究 net/http 内部结构以及它们与 tls.Conn 和 x/net/http2 的关系,以了解它们的工作原理,并利用这些知识演示我们一些最漂亮的黑客技术。
2018 年的 stringer
2018 年的 stringer - 演示你可能从未听说过的新功能。
此内容是 Go Wiki 的一部分。