例如,
type FooService interface { Foo1(x int) int Foo2(x string) string }
我正在尝试["Foo1", "Foo2"]使用运行时反射获取列表。
["Foo1", "Foo2"]
试试这个:
t := reflect.TypeOf((*FooService)(nil)).Elem() var s []string for i := 0; i < t.NumMethod(); i++ { s = append(s, t.Method(i).Name) }
游乐场的例子
获取接口类型的reflect.Type是棘手的部分。请参阅如何获取接口的reflect.Type?进行解释。