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.