使用反射检索类型别名备用名称

时间:2018-11-16 23:08:19

标签: go

是否可以任何形式或方式检索类型别名的名称?我意识到这可能是不可能的,因为类型别名是相同的类型,而实际上如下所示的东西肯定会打印原始类型。

type MyString string
type AliasString = MyString
var a AliasString = "hello"
fmt.Println(reflect.ValueOf(a).Type().Name())
// prints MyString

有什么办法可以打印AliasString?还是绝对没有办法将它们区分为别名?

1 个答案:

答案 0 :(得分:2)

对于proposal,类型别名在运行时几乎不可见。例外是嵌入字段的名称。

问题中的类型无法将别名与原始类型区分开。