Go 博客

Go 1.0 版本发布

Andrew Gerrand
2012年3月28日

今天是 Go 编程语言开发的一个重要里程碑。我们宣布发布 Go 1.0 版本,简称 Go 1,它定义了一种语言和一组核心库,为创建可靠的产品、项目和出版物提供稳定的基础。

Go 1 是第一个以受支持的二进制发行版形式提供的 Go 版本。它们适用于 Linux、FreeBSD、Mac OS X,并且我们很高兴地宣布,也适用于 Windows。

Go 1 的主要动力是为用户提供稳定性。编写 Go 1 程序的人员可以确信,这些程序将在许多环境中,在数年内持续编译和运行,无需更改。同样,编写有关 Go 1 的书籍的作者可以确保他们的示例和解释在今天以及未来对读者都有帮助。

向前兼容性是稳定性的一部分。在 Go 1 中编译的代码,除了少数例外情况外,应该在该版本的整个生命周期内继续编译和运行,即使我们在发布更新和错误修复(如 Go 1.1、1.2 等)时也是如此。 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 代码时对 Makefile 的需求,因为它使用 Go 程序源代码本身来推导出构建指令。不再需要构建脚本!

最后,Go 1 的发布触发了 Google App Engine SDK 的新版本发布。类似的修订和稳定化过程已应用于 App Engine 库,为开发人员构建将在未来数年内运行的 App Engine 程序提供了基础。

Go 1 是 Go 核心团队以及来自开源社区的众多贡献者共同努力的结果。感谢所有帮助实现这一目标的人。

现在是成为 Go 程序员的最佳时机。您入门所需的一切都在 golang.org 上。

下一篇文章:来自 Google I/O 2012 的 Go 视频
上一篇文章:了解 Go 社区
博客索引