我想在golang中实现MVC。但似乎很难实现我想要的。在 Testcontroller.go 我有:
func (c *TestController) Test() {
//
}
func (c *TestController) Index() {
//
}
只有一个控制器,我可以使用reflect.ValueOf(TestController{}).MethodByName().Call() 来执行该函数。现在我想添加另一个控制器。但似乎我不能通过不同的字符串新建不同的实例:
controllerName := strings.Split(r.URL.Path, "/")
controller = reflect.ValueOf(controllerName[1])
我知道这完全是错误的,但我希望如果 controllerName == "Test" 我可以得到一个 TestController 实例,如果 controllerName == "Index" 得到一个 IndexController 实例,使用反射似乎无法实现我想要的。有什么办法吗?非常感谢!
DIEA
相关分类