Go 博客

Go 在 I/O 大会:常见问题解答

Andrew Gerrand
2010 年 5 月 27 日

在 Google I/O 大会上,我们的小团队对挤满了房间的观众进行了演示,并遇到了许多现在的和未来的 Go 程序员。与这么多人见面,他们在了解 Go 的一些知识后,对使用 Go 可以获得的潜在收益(无论是短期还是长期)感到兴奋,这尤其令人欣慰。

在 I/O 大会期间,我们收到了很多很好的问题,在这篇文章中,我想回顾并扩展其中的一些问题。

Go 适合生产系统吗?Go 现在已经准备就绪且稳定。我们很高兴地报告,Google 正将 Go 用于一些生产系统,并且它们运行良好。当然,还有改进的空间 - 这就是我们继续致力于语言、库、工具和运行时的原因。

你们是否计划实现泛型?关于泛型类功能的许多提议已经在公开和内部提出,但我们尚未找到一个与语言其余部分一致的提议。我们认为 Go 的一个关键优势在于它的简单性,因此我们对引入可能使语言更难理解的新功能持谨慎态度。此外,我们编写的 Go 代码越多(因此我们自己学习编写 Go 代码的能力越强),我们就越少觉得需要这样的语言功能。

你们是否计划支持 GPU 编程?我们目前没有立即计划这样做,但由于 Go 与体系结构无关,因此完全有可能。能够启动在不同处理器体系结构上运行的 goroutine,以及使用通道在运行在不同体系结构上的 goroutine 之间进行通信,似乎是一个好主意。

你们是否计划支持 App Engine 上的 Go?Go 和 App Engine 团队都希望看到这种情况发生。一如既往,这取决于资源和优先级,才能确定它是否以及何时会成为现实。

你们是否计划支持 Android 上的 Go?Go 编译器都支持 ARM 代码生成,因此这完全有可能。虽然我们认为 Go 将是编写移动应用程序的绝佳语言,但 Android 支持并不是我们正在积极研究的内容。

我可以将 Go 用于哪些用途?Go 是专门为系统编程而设计的。服务器、客户端、数据库、缓存、负载均衡器、分发器 - 这些都是 Go 显然有用的应用,这也是我们在 Google 内开始使用它的方式。但是,自从 Go 开源发布以来,社区已经为该语言找到了各种各样的应用。从 Web 应用到游戏再到图形工具,Go 有望成为通用编程语言。其潜力仅受库支持的限制,而库支持正在以前所未有的速度得到改善。此外,教育工作者表示有兴趣使用 Go 来教授编程,他们认为 Go 的简洁语法和一致性非常适合这项任务。

感谢所有参加我们演示或在办公时间与我们交谈的人。我们希望在未来的活动中再次见到您。

Rob 和 Russ 演讲的视频 已在 YouTube 上发布

下一篇文章:Google I/O 大会上的 Go 编程研讨会视频
上一篇文章:即将举行的 Google I/O 大会 Go 活动
博客索引