Sobes.tech
Junior — Middle

Je možné v jazyku Go odovzdať funkciu ako argument inej funkcie?

sobes.tech AI

Odpoveď od AI

Áno, v jazyku Go sú funkcie hodnotami prvej triedy, takže ich možno odovzdávať ako argumenty iným funkciám, vracať z funkcií a priraďovať ich premenným.

Príklad odovzdania funkcie ako 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) // Vypíše 7
}

Týmto spôsobom Go podporuje funkcionálny štýl programovania s odovzdávaním funkcií ako parametrov.