我想知道你怎么知道接口是否是类型指针。
package main
import "fmt"
import "reflect"
type str struct {
a, b string
}
func main() {
var s str
x := &s
t := reflect.TypeOf(interface{}(x))
fmt.Printf("%v", t.Size())
}
答案 0 :(得分:6)
如果您已经知道类型,请使用类型开关:
switch v.(type) {
case *str:
return "*str"
case str:
return "str"
}
如果不这样做,那么您可以使用if reflect.TypeOf(v).Kind() == reflect.Ptr {}