Cómo usar correctamente .Call en el paquete reflect

He tenido un último problema con mi código que involucra la función .Call en el paquete reflect.

Así que estoy haciendo una llamada como esta:

params := "some map[string][]string"
in := make([]reflect.Value,0)
return_values := reflect.ValueOf(&controller_ref).MethodByName(action_name).Call(in)

donde el método al que estoy haciendo .Call es el siguiente:

func (c *Controller) Root(params map[string][]string) map[string] string{}

Lo que no entiendo bien es cómo manipular la variable "in" para pasar correctamente el mapa que necesito a la función. Veo que el segundo parámetro en make () es la longitud del parámetro? Pero no entiendo muy bien cómo formatear las variables para pasar correctamente mi parámetro. Me estoy ejecutando recursivamente en el mensaje de error:

reflect: Call with too few input arguments

Cualquier ayuda sería muy apreciada!

Respuestas a la pregunta(2)

Su respuesta a la pregunta