我的代码和错误消息位于:https://gist.github.com/WithGJR/a700e5d5bd35b5c8eef2
有人能解释一下为什么会出现这个错误以及如何修复它?感谢。
答案 0 :(得分:0)
由于value.MethodByName(info.controllerMethodName)
可能会返回无效方法,因此您应该检查method.IsValid()
。
当发生类似这样的事情时,你会开始添加一堆log.Println
来查看发生了什么,直到引入适当的调试器。
//修改
router.Get("/", controllers.IndexController{}, "Index")
您传递了一个值,func (this *IndexController) Index()
已在指针上定义,因此MethodByName
无法正常工作,请将您的router.Get
更改为:
router.Get("/", &controllers.IndexController{}, "Index")