原文:http://blog.golang.org/2012/03/go-version-1-is-released.html
—————-翻译分隔线—————-
Go 版本 1 发布
今天,在 Go 编程语言的开发上标记了一个主要的里程碑。我们宣布 Go 版本 1,或者简称为 Go 1,定义了一个语言和一系列的核心库作为基础,用于创建可信赖的产品、项目和出版物。
Go 1 是 Go 的第一个发布,提供了二进制包。可用于 Linux、FreeBSD、Mac OS X 以及,令人非常兴奋的——Windows。
对于用户来说 Go 1 驾驭起来相当稳定。编写 Go 1 程序的人可以完全确信在大多数环境下,即使再过若干年,仍然无需对程序做任何修改,它还能编译和运行。类似的,编写关于 Go 1 书籍的人也可以确信他们的例子和解释不论对于今天还是未来的读者都是有帮助的。
向前兼容是稳定的一部分。由 Go 1 编译的代码应当(很少有特例)能够继续在这个版本的生命周期内编译和运行,如为了 issue 更新和 bug 修复而产生的 Go 版本 1.1、1.2 等等。, Go 1 兼容性文档用更多的细节对兼容性指引进行了解释。
Go 1 是 Go 当前应用的一个代表,而不是重大的重构。在计划中,我们聚焦于清理问题和矛盾,并改进可移植性。在最初我们设计并制作出 Go 的原型已经过了很久,发生了很多变化,没有发布的原因是它们不能向后兼容。Go 1 包含了这些对语言和库提供了重大改进,但不能兼容旧程序的变化。幸运的是, go fix 工具可以自动完成许多将程序升级到 Go 1 标准的工作。
Go 1 带来了语言(例如 Unicode 字符和新的 errors 类型)和标准库(例如新的 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。
ANDREW GERRAND 发表
Leave a Reply