Sobes.tech
Junior — Middle

Hogyan lehet egy függvényt argumentumként átadni egy másik függvényen belüli híváshoz?

sobes.tech MI

Válasz az MI-től

A Go-ban a függvények első osztályú értékek, ezért átadhatók más függvények argumentumaként.

Példa egy függvény átadására egy másiknak:

package main

import "fmt"

// Függvény, amely másik függvényt fogad argumentumként
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) // 7-et ír ki
}

Itt az applyOperation két számot és egy op nevű függvényt fogad, amely meghatározza az műveletet ezeken a számokon. A main-ben egy névtelen összeadó függvényt adunk át.

Tehát a Go-ban a függvény átadásához elegendő az argumentum típusát func(...) ...-ként megadni, és a kívánt függvényt átadni a hívás során.