Go 1.5 发布,完全移除 C,使用 Go 编译 Go

jopen 9年前

Go 1.5 正式发布,这是 Go 的第六个重要版本。

此版本包括大量重大改进,编译工具链从 C 转换到 Go,从 Go 代码库中完全移除 C 代码。完完全全重新设计了垃圾收集器,减少垃圾收集器的停顿时间。改进 scheduler,允许修改默认 GOMAXPROCS 值(并发执行 goroutines 数量),可以从 1 修改到逻辑 CPUs 的数量。改进 linker,允许分布式 Go 包作为分享库链接到 Go 程序,可以构建 Go 包到归档或者分享库,可以链接或者通过 C 程序加载 (design doc)。

此版本还包括对开发工具的改进:包与包之间允许分享实现细节;尝试性支持 "vendoring" 外部依赖,在 Go 程序中使用一个标准机制管理依赖;添加 "go tool trace" 命令;添加 "go doc" 命令等等。

还有一些新操作系统和架构移植。新移植:darwin/arm,darwin/arm64 (Apple's iPhone 和 iPad 设备) 和 linux/arm64。尝试性支持 ppc64 和 ppc64le (IBM 64-bit PowerPC, big and little endian)。

新 darwin/arm64 移植和外部特性充分体现在 Go 移动项目,可以窥见 Go 是如何尝试在 Android 和 iOS 设备上构建应用。(Go 移动端方面并不包含在这个版本中)。

语言方面的改进非常小;标准库有大量的组件和改进。

完整改进内容请看详细发行说明,Go 1.5 现已提供下载

来自:http://www.oschina.net/news/65378/go-1-5