询问接口的对象是否是某个类型:
type sg struct {
str string
}
func (s *sg) String() string {
return s.str
}
s := new(sg)
s.str = "hello"
var v interface{} = s
s1, ok := v.(fmt.Stringer) //接口v是否实现了fmt.Stringer接口
fmt.Println(s1, ok, reflect.TypeOf(s1)) //结果hello true *main.sg