Sobes.tech
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.