Wie man .Call in reflect richtig einsetzt
Ich hatte ein letztes Problem mit meinem Code, das die .Call-Funktion im reflect-Paket beinhaltet.
Also rufe ich so an:
params := "some map[string][]string"
in := make([]reflect.Value,0)
return_values := reflect.ValueOf(&controller_ref).MethodByName(action_name).Call(in)
Die Methode, an die ich den Anruf tätige, lautet wie folgt:
func (c *Controller) Root(params map[string][]string) map[string] string{}
Was ich nicht ganz verstehe, ist, wie man die "In" -Variable manipuliert, um die Map, die ich brauche, richtig in die Funktion zu übergeben. Ich sehe, dass der zweite Parameter in der make () die Länge des Parameters ist? Ich verstehe aber nicht ganz, wie ich die Vars formatieren soll, um meinen Parameter richtig zu übergeben. Ich stoße rekursiv auf die Fehlermeldung:
reflect: Call with too few input arguments
Jede Hilfe wäre sehr dankbar!