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 模块以及如何使用它们?

Paul JollyLondonGophers

[视频] [幻灯片]

Go 1.11 中还有什么

Daniel MartìLondonGophers

[视频] [幻灯片]

Go 1.11 版本抢先看

WebAssembly 入门

Johan BrandhorstLondonGophers

[视频] [幻灯片] [wasm 代码] [grpc 代码]

在本次讲座中,Johan 向您介绍了 Go 1.11 中的 WebAssembly 端口,以及它如何在处理 JavaScript 混乱时提供帮助 :)

Go 和 Mongo - 以及它的变化

DJ Walker-MorganLondonGophers

[视频] [幻灯片]

使用 Go 构建一个简单的并发教学语言

Nicholas NgLondonGophers

[视频] [幻灯片]

在本次讲座中,Nicholas 介绍了用 Go 实现的一种旨在教授并发理论(进程演算)的简单语言的设计和实现。他涵盖了实现中使用的 Go 的一些静态分析工具,并展示了您也可以如何使用它们!

Remoto 简介

Mat RyerLondonGophers

[视频]

Mat 分享了一个旨在简化 RPC 服务构建的新项目的初步展示。gRPC 对客户端(尤其是 Web 客户端)来说并不好,而 RESTful 设计有时会导致混乱的 API。Remoto 允许您使用 Go 接口定义服务,并生成构建和使用服务所需的一切。

Go Swagger

Simone TrubianLondonGophers

[视频]

Simone 概述了 Go Swagger 命令行工具,并简要解释了他如何使用它来提高 REST API 设计的生产力。

Go 中的 ORM

Renato Serra 在 LondonGophers

[视频]

Renato 解释了 ORM 在哪些方面可以提供帮助,有哪些选择,以及使用 ORM 的体验如何。

Go 代码中未使用的参数

Daniel MartìLondonGophers

[视频] [幻灯片]

Daniel 谈论了如何使用 SSA 和调用图来编写强大的代码分析工具。特别是,他演示了如何检测函数中未使用的参数。

谎言、该死的谎言和基准测试

Amnon 在 LondonGophers

[视频] [幻灯片]

Amnon 讨论了为什么微基准测试在优化实际系统时会产生误导,为什么数据布局通常比代码结构更重要,以及 Go 如何帮助我们追求性能。

从零开始的调试器

Liz RiceLondonGophers

[视频] [幻灯片] [代码]

Liz 通过用几行 Go 代码构建一个调试器来解释调试器的工作原理。这包括 Go 源代码和其编译成的机器代码指令之间的映射,以及使用 ptrace 系统调用设置断点并检查和修改正在运行的进程。

SDL 的快速分形乐趣

Sue SpenceLondonGophers

[视频] [幻灯片] [代码]

生成 Mandelbrot 和 Julia 集等图像的 Go 程序通常会输出图像文件。我将展示如何使用 Go 绑定来连接 Simple Directmedia Layer 库,以便在显示设备上输出它们。

并发:从 Ruby 到 Go 的旅程

Mathilda ThompsonLondonGophers

[视频]

多语言环境中的 Go

Kevin McKelvinLondonGophers

[视频]

在本次讲座中,Kevin 介绍了他在采用 Go、转向多语言环境、成功与挑战以及 Go 如何适应其公司整体架构和战略方面的经验。

交付 Go 服务

Zak KnillLondonGophers

[视频]

交付 Go 服务:在公司引入 Go 并部署您的第一个 Go 服务之后,接下来的步骤是什么?本次讲座重点介绍了接下来的一些事情,涉及传说中的“X(10、20、30)分钟内将新服务投入生产”,以及在此过程中遇到的一些陷阱。

Go-ing Lambda

David BloomanLondonGophers

[视频]

Go-ing Lambda - 投入生产一年:我们 (FundApps) 如何在 Lambda 函数中使用 Go 构建一个用于导入/抓取/解析金融服务数据以构建 API 的服务。Go 中 Lambda 函数的提示和技巧、限制、性能以及使用 Apex 框架。

RED 方法

Tom WilkieLondonGophers

[视频]

我们还将专门为那些正在招聘或正在寻找工作的人设立一个版块(如果像上次一样我们错过了,请不要害怕提醒我们)。

滥用 Go 的 net 包以获得乐趣和收益

Michał WitkowskiLondonGophers

[视频]

本次讲座深入探讨了 Go 基于组合的哲学(应用于 net 包)如何被创造性地利用,从而实现美观且有用的技巧,显著增强堆栈功能。我们将探索 net.Conn,以及如何以创造性的方式(滥)用它们。我们将一窥 net/http,并探讨 http.Handler 和 http.Roundtripper 接口如何被创造性地挪用以构建有用的中间件。然后,我们将更深入地研究 net/http 内部及其与 tls.Conn 和 x/net/http2 的关系,以了解它们的工作原理,并利用这些知识演示我们一些最漂亮的技巧。

2018 年的 stringer

Daniel MartìLondonGophers

[视频] [幻灯片]

2018 年的 stringer - 新功能演示,您可能从未听说过。


此内容是 Go Wiki 的一部分。