En Python, le mot-clé in vérifie facilement si un élément est présent dans une liste. Go, en revanche, n’a pas d’équivalent explicite. Cet article explore les techniques de mise en œuvre d'une telle vérification dans Go.
Une approche consiste à utiliser un ensemble, qui mappe les valeurs à des valeurs entières inutilisées. Cependant, cela nécessite une spécification entière artificielle pour chaque élément et n'est pas considéré comme une solution idéale.
Une approche plus élégante consiste à exploiter une carte de chaînes en booléens. La carte sert d'ensemble, et l'absence d'une paire clé-valeur dans la carte équivaut à faux, ce qui peut être interprété comme l'élément ne figurant pas dans la liste.
valid := map[string]bool{"red": true, "green": true, "yellow": true, "blue": true} if valid[x] { fmt.Println("found") } else { fmt.Println("not found") }
Remarque :
Pour plus d'efficacité avec les grandes listes, envisagez soit d'initialiser la carte à l'aide d'une boucle for range, soit de créer une constante non typée pour optimiser la valeur booléenne. mission.
var t = true valid := map[string]bool{"red": t, "green": t, "yellow": t, "blue": t}
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!