Junior — Middle
Je možné odovzdať funkciu ako hodnotu v dátovej štruktúre map?
sobes.tech AI
Odpoveď od AI
Áno, v jazyku Go môžete prenášať funkcie ako hodnoty v dátovej štruktúre map, pretože funkcie sú typy prvej triedy.
Príklad:
package main
import "fmt"
func main() {
// Deklarujeme mapu, kde kľúč je reťazec a hodnota je funkcia, ktorá prijíma int a vracia int
funcMap := make(map[string]func(int) int)
// Pridávame funkcie do mapy
funcMap["square"] = func(x int) int { return x * x }
funcMap["double"] = func(x int) int { return x * 2 }
// Používame funkcie z mapy
fmt.Println(funcMap["square"](5)) // 25
fmt.Println(funcMap["double"](5)) // 10
}
Takto môžeme ukladať a volať funkcie z mapy podľa kľúča.