Google Go 语言推出第一个正式版本:Go 1

  • Abel Avram
  • 金毅

2012 年 4 月 17 日

话题:编程语言Google语言 & 开发架构

最近,Go 语言推出了第一个正式版本,Google 承诺 Go 语言会在未来几年里更加稳定。YouTube 就使用了 Go 来编写他们的核心框架。

早在 2009 年 11 月,Google 就宣布了Go语言的开发计划,最近他们完成了第一个重要的里程碑:发布了 Go 1。过去 2 年多,Google 专注于语言规范和稳定性方面的工作,现在 Go 语言正式起航!即使未来几年 Go 语言发布小版本(比如 Go 1.1, 1.2.1),Go 1 的程序也可以直接编译和运行。Go 的兼容性体现在代码语法上,有小版本发布后,不用修改代码,但你可能还是需要重新编译。遇到重大发布,比如 Go 2,如果因为安全原因修改了语言规范,那么就可能会破坏兼容性,甚至原本的代码语法都不兼容。Go 1 and the Future of Go Programs一文具体解释了程序员将来可能会遇到的兼容性问题以及防范措施。由之前测试版 Go 编写的程序可以使用 go fix工具自动更新,从而在 Go 1 的环境下运行。

Go 1 这次带来了一些新特性:对 Unicode 字符的支持,也就是rune 类型error 类型和 error 包time 包,更多详细信息可以参考发布说明

现在,Go 1 编写的程序可以在 Linux、FreeBSD、Mac OS X 以及 Windows 上运行,标准发布包中包括了适用于 x86、AMD-64 和 ARM CPU 的编译器。而用于PowerPC 上的编译器还在开发过程中。

Google 已经更新了App Engine SDK 1.6.4以支持 Go 1 在 32 位和 64 位的 Linux 和 Max OS X 平台上运行。Google 在内部使用 Go 语言已经有很长一段时间了,但直到最近才公布细节。 Google 工程师Andrew Gerrand声称YouTube 使用了 Go开发他们的核心框架,该框架每天独立响应超过十亿次请求。此外,旨在推动 MySQL 数据库面向大型 Web 应用的扩展性的Vitess项目也是由 Go 语言编写的。

Go 语言的用户包括: Canonical使用 Go 开发了他们的后端框架,Atlassian使用 Go 语言来管理和监控测试服务器, 运行在 Heroku 上的开源的高速数据同步服务器项目Doozer也是由 Go 编写的,等等。尽管如此,Go 语言还没有足够多的案例,以至于它跌出了这个月的Tiobe 50 大编程语言排行榜,这也让大家对它未来的发展抱有疑虑。

Go 是一种编译型静态语言(compiled static language),它的语法类似 C 和 C++,执行速度快,支持跨平台。有了这些特性,Go 的目标直指取代 C 和 C++ 等原生语言。官网上的Tour of Go交互式地介绍了 Go 的基本功能。

同时,Google 还正在推进另外一种动态语言Dart,以期取代 JavaScript。就像 Go 一样,Dart 也还没有很多应用案例,大家也担心 Google 会不会因为 Dart 没有用户而停止开发?

查看英文原文:Go 1–The First Major Release of the Google Go Language

编程语言Google语言 & 开发架构