2017-12-29 6 views
0

Ich möchte eine Funktion mit beliebige Parameter in einer interface{} speichern und in der Lage sein, es an anderer Stelle auszuführen.Alle Funktionen ausführen, die in einer Schnittstelle gespeichert sind {}

So könnte es speichern ein func(string) string oder ein func(int, int) string oder etc, aber ich muss es in der Lage sein später anrufen und in der Lage, es zu sagen, welche Art von Funktion es ist. Ich habe versucht, .(func(string) string) und .(func(int,int) string) zu verwenden, aber nichts bekommen.

Jede Hilfe wird geschätzt.

+0

Haben Sie darüber nachgedacht, wie Sie erwarten, dass eine solche Funktionssignatur funktioniert? –

Antwort

1

Haben Sie sich das reflect-Paket angesehen?

Insbesondere Type und ValueOf und Value.Call.

+0

Ich habe, aber nie die Call-Funktion aufrufen. Perfekt gearbeitet, danke! –

Verwandte Themen