Golang 1.9 新特性-类型别名(Type Aliases)

类型别名是Golang 1.9引入的新特性,顾名思义类型别名是给Golang的类型提供创建别名的方法。使用的语法如下:

设计初衷

类型别名的设计初衷是为了解决代码重构时,类型在包(package)之间转移时产生的问题(参考 Codebase Refactoring (with help from Go) )。

考虑如下情景:

项目中有一个叫p1的包,其中包含一个结构体T1。随着项目的进展T1变得越来越庞大。我们希望通过代码重构将T1抽取并放入到独立的包p2,同时不希望影响现有的其他代码。这种情况下以往的go语言的功能不能很好的满足此类需求。类型别名的引入可以为此类需求提供良好的支持。

继续阅读