内容目录
reflect.Type.Elem() 可以返回元素的类型,例如指针类型,返回不带指针的类型。
reflect.Value.Elem() 是获取指向值的引用。
type name struct {
}
func (n name) Print(str string) {
}
func main() {
var n interface{} = &name{}
t := reflect.TypeOf(n)
var na interface{}
// 实例化
if t.Kind() == reflect.Ptr {
// 解指针类型
elem := t.Elem()
obj := reflect.New(elem)
na = obj.Elem().Interface()
} else {
obj := reflect.New(t)
na = obj.Elem().Interface()
}
nn := na.(name)
nn.Print("aaa")
}
文章评论