Sobes.tech
Junior — Middle

Át lehet adni egy függvényt értékként egy map adatstruktúrában?

sobes.tech MI

Válasz az MI-től

Igen, Go nyelvben lehet funkciókat értékként átadni egy map adatstruktúrában, mivel a funkciók első osztályú típusok.

Példa:

package main

import "fmt"

func main() {
    // Egy map deklarálása, ahol a kulcs egy string, az érték pedig egy olyan függvény, amely elfogad egy int-et és visszaad egy int-et
    funcMap := make(map[string]func(int) int)

    // Függvények hozzáadása a maphez
    funcMap["square"] = func(x int) int { return x * x }
    funcMap["double"] = func(x int) int { return x * 2 }

    // Függvények használata a mapből
    fmt.Println(funcMap["square"](5)) // 25
    fmt.Println(funcMap["double"](5)) // 10
}

Így tárolhatunk és hívhatunk függvényeket a mapen keresztül a kulcs segítségével.