duanfu6160 2014-09-02 03:29
浏览 178
已采纳

Golang-为什么在ServeHTTP函数中发生此错误:反射:调用reflect.Value.Call对零值

My code and error message are in here: https://gist.github.com/WithGJR/a700e5d5bd35b5c8eef2

Could anyone explain for me why this error occured and how to fix it? Thanks.

  • 写回答

1条回答 默认 最新

  • dongpo2340 2014-09-02 03:33
    关注

    Because value.MethodByName(info.controllerMethodName) probably returns an invalid method, you should check method.IsValid().

    When something like this happens you start adding a bunch of log.Printlns to see what's happening, well until a proper debugger is introduced.

    //edit

    router.Get("/", controllers.IndexController{}, "Index")
    

    You're passing a value, func (this *IndexController) Index() is defined on the pointer so your MethodByName isn't working right, change your router.Get to :

    router.Get("/", &controllers.IndexController{}, "Index")
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?