Например,
type FooService interface {
Foo1(x int) int
Foo2(x string) string
}
Я пытаюсь получить список ["Foo1", "Foo2"]
, используя отражение во время выполнения.
Например,
type FooService interface {
Foo1(x int) int
Foo2(x string) string
}
Я пытаюсь получить список ["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 интерфейса? а> для объяснения.
t := reflect.TypeOf(struct{FooService}{})
тоже работает. 07.03.2020