Sobes.tech
Junior — Middle

Lze v jazyce Go předávat funkci jako argument jiné funkce?

sobes.tech AI

Odpověď od AI

Ano, v jazyce Go jsou funkce hodnotami první třídy, takže je lze předávat jako argumenty jiným funkcím, vracet z funkcí a přiřazovat proměnným.

Příklad předání funkce jako argumentu:

package main
import "fmt"

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) // Vytiskne 7
}

Tímto způsobem Go podporuje funkcionální styl programování s předáváním funkcí jako parametrů.