如何在反射包中正确使用 .Call

我的代码遇到了最后一个问题,它涉及反射包中的 .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

任何帮助将非常感激!


蝴蝶刀刀
浏览 231回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go