Dans Go, vous pouvez définir des fonctions personnalisées et les attribuer comme valeurs aux touches dans une carte. Cela permet une exécution dynamique de fonctions basées sur une clé donnée.
Pour y parvenir, vous pouvez créer une carte de type map[string]func(...) où la clé est une chaîne et la valeur est une fonction. Cependant, le code fourni tente d'utiliser une syntaxe qui n'est pas prise en charge dans Go.
Pour résoudre ce problème, utilisez le code suivant :
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") } } }
Dans cet exemple :
Notez que le type interface{} dans l'exemple de code fourni n'est pas nécessaire et peut être simplifié en func(...).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!