Junior — Middle
Lze předat funkci jako hodnotu v datové struktuře map?
sobes.tech AI
Odpověď od AI
Ano, v jazyce Go lze předávat funkce jako hodnoty v datové struktuře map, protože funkce jsou typy první třídy.
Příklad:
package main
import "fmt"
func main() {
// Deklarace mapy, kde klíčem je řetězec a hodnotou funkce přijímající int a vracející int
funcMap := make(map[string]func(int) int)
// Přidání funkcí do mapy
funcMap["square"] = func(x int) int { return x * x }
funcMap["double"] = func(x int) int { return x * 2 }
// Použití funkcí z mapy
fmt.Println(funcMap["square"](5)) // 25
fmt.Println(funcMap["double"](5)) // 10
}
Tímto způsobem lze ukládat a volat funkce z mapy podle klíče.