Golang" fmt "包中有一个名为dump的方法Printf("%+v", anyStruct).我正在寻找任何方法来转储结构及其方法.
例如:
type Foo struct {
Prop string
}
func (f Foo)Bar() string {
return f.Prop
}
Run Code Online (Sandbox Code Playgroud)
我想Bar()在初始化类型实例Foo(不仅是属性)中检查方法是否存在.
有什么好办法吗?
为了确定给定类型是否使用反射包实现接口,您需要将reflect.Type传递给reflect.Type.Implements().你怎么得到这些类型之一?
作为一个例子,试图获得未初始化的os.Error(接口)类型的类型并没有工作(它吓坏了你就可以调用类())
var err os.Error
fmt.Printf("%#v\n", reflect.TypeOf(err).Kind())
Run Code Online (Sandbox Code Playgroud) go ×2