Junior — Middle
Wie kann man eine Funktion als Argument übergeben, um sie innerhalb einer anderen Funktion aufzurufen?
sobes.tech KI
Antwort von AI
In Go sind Funktionen Werte erster Klasse, daher können sie als Argumente an andere Funktionen übergeben werden.
Beispiel für das Übergeben einer Funktion an eine andere:
package main
import "fmt"
// Funktion, die eine andere Funktion als Argument akzeptiert
func applyOperation(a, b int, op func(int, int) int) int {
return op(a, b)
}
func main() {
sum := func(x, y int) int {
return x + y
}
result := applyOperation(3, 4, sum)
fmt.Println(result) // Gibt 7 aus
}
Hier akzeptiert applyOperation zwei Zahlen und eine Funktion op, die die Operation über diese Zahlen definiert. Im main übergeben wir eine anonyme Summenfunktion.
Daher reicht es in Go, den Argumenttyp als func(...) ... anzugeben und die gewünschte Funktion beim Aufruf zu übergeben.