Go 博客
Go 1 版本发布

今天标志着 Go 编程语言发展中的一个重要里程碑。我们在此宣布 Go 1 版本,简称 Go 1,它定义了一种语言和一套核心库,为创建可靠的产品、项目和出版物提供了稳定的基础。
Go 1 是 Go 的第一个支持二进制分发版本。这些版本适用于 Linux、FreeBSD、Mac OS X,并且我们非常激动地宣布,也支持 Windows。
Go 1 的主要驱动力是为用户提供稳定性。编写 Go 1 程序的开发者可以放心,这些程序在许多环境下,在几年内都能在不进行更改的情况下继续编译和运行。同样,撰写关于 Go 1 的书籍的作者可以确信,他们的示例和解释在今天和未来都将对读者有所帮助。
向前兼容是稳定性的组成部分。在 Go 1 中编译的代码,除少数例外,在整个版本生命周期内都应能继续编译和运行,即使我们发布了 Go 1.1、1.2 等更新和 bug 修复。 Go 1 兼容性文档 详细解释了兼容性指南。
Go 1 代表了 Go 当前的使用方式,而不是一次重大重新设计。在规划过程中,我们专注于解决问题和不一致之处,并提高可移植性。Go 曾有过许多我们设计和原型化但因向后不兼容而未发布的更改。Go 1 整合了这些更改,它们为语言和库带来了显著的改进,但有时会给旧程序带来不兼容。幸运的是,go fix 工具可以自动化将程序更新到 Go 1 标准所需的大部分工作。
Go 1 引入了语言更改(例如 Unicode 字符 和 错误 的新类型)和标准库更改(例如新的 time 包 和 strconv 包 中的重命名)。此外,包层次结构已重新组织,将相关项分组在一起,例如将网络功能,例如 rpc 包,移至 net 的子目录。完整的更改列表记录在 Go 1 发布说明 中。该文档是迁移旧版本 Go 代码的程序员的重要参考。
我们还围绕新的 go 命令 重构了 Go 工具套件。go 命令是一个用于获取、构建、安装和维护 Go 代码的程序。go 命令消除了编写 Go 代码时对 Makefiles 的需求,因为它使用 Go 程序本身来推导构建指令。告别构建脚本!
最后,Go 1 的发布触发了 Google App Engine SDK 的新版本发布。对 App Engine 库进行了类似的修订和稳定化处理,为开发者提供了构建可以在未来几年内运行的 App Engine 程序的基石。
Go 1 是核心 Go 团队以及来自开源社区的众多贡献者共同努力的成果。感谢所有为此做出贡献的人。
现在是成为 Go 程序员的最佳时机。您所需的一切都可以在 golang.org 找到。
下一篇文章:Google I/O 2012 的 Go 视频
上一篇文章:了解 Go 社区
博客索引