dongwu9647 2018-11-16 23:08
浏览 18
已采纳

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

Is it possible in any form or fashion to retrieve the name of a type alias? I realize that this is likely impossible because a type alias IS the same type, and indeed something such as the following definitely prints the original type.

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

Is there ANY way for this to be able to print AliasString? Or is there just absolutely no way to distinguish them as an alias?

  • 写回答

1条回答 默认 最新

  • dongzhuner6981 2018-11-16 23:41
    关注

    Per the proposal, type aliases are mostly invisible at runtime. The exception is in the name of embedded fields.

    With the types in the question, there's no way to distinguish the alias from the original type.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?