作者:手机用户2502929183 | 来源:互联网 | 2022-12-10 16:19
给定一个结构的任意实例,我希望能够执行所有不接受参数的公共方法.
例如,在下面的代码中,我希望能够执行X {}.Foo()和X {}.Bar()而不知道它们是否存在.
package main
import (
"fmt"
"reflect"
)
type X struct {
Y string
}
func (x X) Foo() string {
return x.Y
}
func (x X) Bar() {
}
func (x X) Baz(q string) {
}
func main() {
fooType := reflect.TypeOf(X{})
for i := 0; i
Tim Cooper..
5
更改reflect.TypeOf
到reflect.ValueOf
检查型的Method
,保证是接受零个参数
用方法调用方法 Call
foo := reflect.ValueOf(X{})
for i := 0; i
https://play.golang.org/p/KYAfaFlEjVt
1> Tim Cooper..:
更改reflect.TypeOf
到reflect.ValueOf
检查型的Method
,保证是接受零个参数
用方法调用方法 Call
foo := reflect.ValueOf(X{})
for i := 0; i
https://play.golang.org/p/KYAfaFlEjVt