因网上这个资料难查,因此转载一份,原文请点击
Go1.9的主要更新类型别名
语法的更改
Go1.9中增加了类型别名这个语法,类型别名可以更优雅的实现当两个包之间struct的移动。类型别名的语法如下:
type T1 = T2
意思是声明一个T2类型的别名T1.
工具并行编译
GO19CONCURRENTCOMPILATION=0
./…可以匹配vendor了
./...
性能
通常来说,很难去描述这些更改对各种场景的性能影响。大部分程序都应该运行的更快了,因为gc的提升,代码生成的更好和核心库的优化。
垃圾回收runtime.GC,debug.SetGCPerentdebug.FreeOSMemorygoroutinedebug.SetGCPrercent
runtime.ReadMemStats
核心库
并发的map
MapMap
time包支持显示单调
Go1.9的time包支持每个Time值都是单调时间,这样能使当系统时间改变的时候,计算两个时间差也是安全的。具体看package docs和design doc
新的位操作包
Go1.9新增了一个包,叫math/bits,提供一些位操作的优化。
参考