Two named types are identical if their type names originate in the same TypeSpec事实上,在 Go 代码中不能有两个相同的命名类型。因为在 Go 代码中,originate in the same TypeSpec意味着相同的类型。说一种类型与自身相同是没有意义的。但是我们确实有不同的命名类型,它们是相同的:byte 和 uint8;符文和 int32,根据 规范只能在编译器中为预先声明的类型执行此操作。参考golang 坚果中的讨论注意:在 Go 1.9 中,将有一个名为:类型别名/别名声明的新功能。使用此功能,可以声明相同的不同命名类型。参考讲Go 1.9