Ich hatte ein letztes Problem mit meinem Code, der die Funktion .Call im Reflect-Paket beinhaltet.Wie man richtig verwendet. Rufen Sie im reflect-Paket, Golang?
So einen Anruf Ich mache wie folgt aus:
params := "some map[string][]string"
in := make([]reflect.Value,0)
return_values := reflect.ValueOf(&controller_ref).MethodByName(action_name).Call(in)
, wo die Methode, die ich die .Call mache, ist wie folgt:
func (c *Controller) Root(params map[string][]string) map[string] string{}
Was ich nicht ganz zu verstehen ist, wie man die Variable "in" manipuliert, um die Karte, die ich brauche, in die Funktion zu übergeben. Ich sehe, dass der zweite Parameter in der make() die Länge des Parameters ist? Aber ich verstehe nicht ganz, wie man die Variablen formatiert, um meine Parameter richtig zu übergeben. Ich laufe rekursiv in die Fehlermeldung:
reflect: Call with too few input arguments
Jede Hilfe würde sehr geschätzt werden!
Ah ok, ok ich sehe, vielen Dank! :) Schätze all deine Hilfe heute! – user1493543