У меня проблема с получением HandlerFun c с отражением.
Ниже мой код:
type ServiceHandler struct {
Name string
}
var handler *ServiceHandler
func init() {
handler = ServiceHandler{Name: "test"}
}
func (handler *ServiceHandler) Handler1(c *gin.Context) {
...
}
func (handler *ServiceHandler) Handler2(c *gin.Context) {
...
}
Пока все хорошо. Теперь я использую рефлексию, чтобы перечислить все мои методы и передать их в gin router.
func listHanlderMethods() {
handlerType := reflect.TypeOf(handler)
for i := 0; i < handlerType.NumMethod(); i++ {
method := handlerType.Method(i)
fmt.Println(method.Name)
}
}
, что дает Handler1 и Handler2 .
Мой вопрос здесь:
Как я могу получить HandlerFun c s с помощью отражения?