我的代码遇到了最后一个问题,它涉及反射包中的 .Call 函数。
所以我正在打这样的电话:
params := "some map[string][]string"
in := make([]reflect.Value,0)
return_values := reflect.ValueOf(&controller_ref).MethodByName(action_name).Call(in)
我正在调用 .Call 的方法如下:
func (c *Controller) Root(params map[string][]string) map[string] string{}
我不太明白的是如何操作“in”变量以便将我需要的地图正确传递到函数中。我看到make()中的第二个参数是参数的长度?但我不太明白如何格式化 vars 以正确传递我的参数。我递归地遇到错误消息:
reflect: Call with too few input arguments
任何帮助将非常感激!
相关分类