我有这种类型:
type T string
Run Code Online (Sandbox Code Playgroud)
我可以获得 对象的基础类型T
吗?例如:
package main
import (
"fmt"
"reflect"
)
type T string
func main() {
var t = T("what")
tt := reflect.TypeOf(t)
fmt.Println(tt) // prints T, i need string
}
Run Code Online (Sandbox Code Playgroud)
不完全是“底层类型”,但对于你的情况,你不想要那个,你想要它的Kind
, from Type.Kind()
:
var t = T("what")
k := reflect.TypeOf(t).Kind()
fmt.Println(k)
Run Code Online (Sandbox Code Playgroud)
可玩的示例: https: //play.golang.org/p/M75wsTwUHkv
请注意,Kind并不是“底层类型”的同义词,这实际上并不是一个东西,正如您在此处看到的: https: //play.golang.org/p/900YGm2BnPV