In Go können Sie benutzerdefinierte Funktionen definieren und diese als Werte Tasten in einer Map zuweisen. Dies ermöglicht die dynamische Ausführung von Funktionen basierend auf einem bestimmten Schlüssel.
Um dies zu erreichen, können Sie eine Karte vom Typ „map[string]func(...)“ erstellen, bei der der Schlüssel ein String und der Wert ist eine Funktion. Der bereitgestellte Code versucht jedoch, eine Syntax zu verwenden, die in Go nicht unterstützt wird.
Um dieses Problem zu beheben, verwenden Sie den folgenden Code:
func a(param string) { fmt.Println("Function a called with param:", param) } func main() { m := map[string]func(string) { "a_func": a, } for key, value := range m { if key == "a_func" { value("test") } } }
In diesem Beispiel:
Beachten Sie, dass der Typ interface{} im bereitgestellten Codebeispiel nicht erforderlich ist und zu func(...) vereinfacht werden kann.
Das obige ist der detaillierte Inhalt vonWie kann ich Funktionen als Werte in einer Go-Map zuweisen und aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!