我很久以来一直在解决一个关于reflect包中的.Call函数的问题。
现在我正在调用如下代码:
params := "some map[string][]string"
in := make([]reflect.Value,0)
return_values := reflect.ValueOf(&controller_ref).MethodByName(action_name).Call(in)
我正在调用的方法如下:
func (c *Controller) Root(params map[string][]string) map[string] string{}
我不太明白如何操作 "in" 变量以正确地将我需要的映射传递到函数中。我看到 make() 中的第二个参数是参数的长度?但我不太明白如何格式化变量以正确地传递我的参数。我一直递归地遇到错误信息:
reflect: Call with too few input arguments
非常感谢您的帮助!