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")
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器