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 移动端方面并不包含在这个版本中)。
语言方面的改进非常小;标准库有大量的组件和改进。
有疑问加站长微信联系(非本文作者)

终于实现自举了,赞一个
这么大的改变,向下兼容吗?
肯定兼容
牛,还是不敢用来搞线上的,怕出现问题。
其实我一直没有想明白这样做的好处: 用同一种语言编写 编译器/解释器, 用来编译/解释 这种语言自己。
除了很cool以外, 还有什么看得到,感觉得出来的其他好处呢?
不知道go中调用C代码是否也有变化
自举了,勃起了
赞一个
阶段性成果,赞一个!
如果你看到了,那么你就成为大牛了。
今天brew upgrade一下,发现go1.7出来了,正在安装
bootstrap
1.8都有了