一:理论
GoLang1.9后对內建定义类型使用了新的写法:
type NewName = Type
这个NewName只是Type的别名。NewName和Type是一致的类型。
而类型定义,则是会产生新的类型。虽然新类型和旧类型是一样的类型。但会被认为是不同的类型名字。
type NewName Type
二:实践
(1)类型别名
编译时报错,调用Show()方法时,产生歧义。因为newType和oldType是同名同样的类型
(2)类型定义
对newType使用类型定义。此时newType会被认为是新的类型名称。再调用Show()方法时,就能做出区分是使用newType类型。不会再产生歧义。