Sobes.tech
Junior — Middle

Kann man eine Funktion als Wert in eine Datenstruktur map übergeben?

sobes.tech KI

Antwort von AI

Ja, in Go können Funktionen als Werte in einer Datenstruktur map übergeben werden, da Funktionen First-Class-Typen sind.

Beispiel:

package main

import "fmt"

func main() {
    // Wir deklarieren eine Map, bei der der Schlüssel eine Zeichenkette ist und der Wert eine Funktion, die einen int akzeptiert und einen int zurückgibt
    funcMap := make(map[string]func(int) int)

    // Funktionen zur Map hinzufügen
    funcMap["square"] = func(x int) int { return x * x }
    funcMap["double"] = func(x int) int { return x * 2 }

    // Funktionen aus der Map verwenden
    fmt.Println(funcMap["square"](5)) // 25
    fmt.Println(funcMap["double"](5)) // 10
}

Auf diese Weise kann man Funktionen in einer Map speichern und anhand des Schlüssels aufrufen.