Sobes.tech
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.