要在对象上调用方法,请先使用
reflect.ValueOf。然后按名称查找方法,然后最后调用找到的方法。例如:
package mainimport "fmt"import "reflect"type T struct {}func (t *T) Foo() { fmt.Println("foo")}func main() { var t T reflect.ValueOf(&t).MethodByName("Foo").Call([]reflect.Value{})}
要在对象上调用方法,请先使用
reflect.ValueOf。然后按名称查找方法,然后最后调用找到的方法。例如:
package mainimport "fmt"import "reflect"type T struct {}func (t *T) Foo() { fmt.Println("foo")}func main() { var t T reflect.ValueOf(&t).MethodByName("Foo").Call([]reflect.Value{})}