Junior — Middle
Kan een functie worden doorgegeven als waarde in een gegevensstructuur map?
sobes.tech AI
Antwoord van AI
Ja, in Go kunnen functies worden doorgegeven als waarden in een map datastructuur, omdat functies first-class types zijn.
Voorbeeld:
package main
import "fmt"
func main() {
// Declareer een map, waarbij de sleutel een string is en de waarde een functie die een int accepteert en een int retourneert
funcMap := make(map[string]func(int) int)
// Voeg functies toe aan de map
funcMap["square"] = func(x int) int { return x * x }
funcMap["double"] = func(x int) int { return x * 2 }
// Gebruik de functies uit de map
fmt.Println(funcMap["square"](5)) // 25
fmt.Println(funcMap["double"](5)) // 10
}
Op deze manier kunnen functies worden opgeslagen en aangeroepen uit de map op basis van de sleutel.