In Java kann ich so etwas machen
derp(new Runnable { public void run () { /* run this sometime later */ } })
und "führen" Sie den Code in der Methode später aus. Es ist ein Schmerz zu behandeln (anonyme innere Klasse), aber es kann getan werden.
Hat Go etwas, das die Übergabe einer Funktion / eines Rückrufs als Parameter erleichtern kann?
containingObject::instanceMethodName
): docs.oracle.com/javase/tutorial/java/javaOO/…Antworten:
Ja, betrachten Sie einige dieser Beispiele:
Spielen: http://play.golang.org/p/XNMtrDUDS0
Tour: https://tour.golang.org/moretypes/25 (Funktionsschließungen)
quelle
Sie können die Funktion als Parameter an eine Go-Funktion übergeben. Hier ist ein Beispiel für die Übergabe einer Funktion als Parameter an eine andere Go-Funktion:
Sie können dies unter folgender Adresse ausprobieren: https://play.golang.org/p/9mAOUWGp0k
quelle
Hier ist die Beispielimplementierung "Map" in Go. Hoffe das hilft!!
quelle
Hier ist ein einfaches Beispiel:
quelle
Ich hoffe, dass das folgende Beispiel mehr Klarheit bietet.
quelle
Yes Go akzeptiert erstklassige Funktionen.
Nützliche Links finden Sie im Artikel "First Class Functions in Go" .
quelle