Golang 1.9 的新特性

channel · · 4088 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

Google 的 Go语言在下一个版本将提升性能,编译和扩展大型代码库。 Go 1.9 应该在 8 月份发布。 Go 1.9 的创作者希望几乎所有Go程序都像以前一样运行,他们的关注点依然是最新版本中保持兼容性。 **这是新功能和改进**: - 垃圾收集器加速,生成更好的代码以及核心库优化应该会使程序运行速度更快一些; - math/bits 包,这是一个新包,它对操作 bits 进行了优化。该包中的函数被编译器视为内联函数来提高性能; - Go 1.9 编译器支持并行编译包中的函数,利用多个处理器内核。Go 1.9 保留以前版本的 go 命令支持并行编译单独的包。默认情况下,并行编译是打开的,但可以禁用。 - 为了可扩展性,Go 1.9 增加了对代码修复的 类型别名 的支持。对 Go 语言的更改,类型别名支持代码的渐进式修复,同时支持在程序包之间移动类型。它应该在大规模重构期间辅助代码修复,将引用就包中的类型改为引用新包的类型,这两个类型是一致的。基本上,类别别名的引入提供了一个过渡期,其中 API 可以从新的和旧的包中获得,引用旧的和新的版本可以同时存在。 - Go 1.9 增加了透明单调递增时间(transparent monotonic time)支持,这使得在两个时间值之间的计算持续时间总是安全的,即使是在时钟调整的情况下。相关链接:[package docs](https://tip.golang.org/pkg/time/#hdr-Monotonic_Clocks)、[design document](https://golang.org/design/12914-monotonic) - Go 1.9 改进了测试能力,新的 (*T).Helper 和 (*B).Helper 方法将调用函数标记为测试 helper 函数。 当打印文件和行信息时,该函数将被跳过。 这允许写测试 helper 函数,同时仍然为用户提供有用的行号。 - sync 包中的新 Map 类型,具有分期偿还 - 常数时间加载,存储和删除的并发 Map。多个 goroutines 可以安全并发的调用它。 更多信息,请阅读 https://tip.golang.org/doc/go1.9

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4088 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传