简体   繁体   中英

Golang - Why this error happened in ServeHTTP Function : reflect: call of reflect.Value.Call on zero Value

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.

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.Println s 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")

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM