Adhésion à la liste de contrôle dans Go : une alternative au mot-clé Python "in"
En Python, le mot-clé "in" fournit un outil pratique moyen de vérifier si une valeur existe dans une liste. Go, cependant, n'offre pas d'équivalent direct.
Rapprocher le mot-clé "in" avec une carte
Une approche dans Go consiste à exploiter une carte[string] bool comme représentation d’un ensemble. En stockant des valeurs valides sous forme de clés et en attribuant de vraies valeurs, vous pouvez tester l'appartenance en vérifiant si une clé est présente dans la carte :
valid := map[string]bool{"red": true, "green": true, "yellow": true, "blue": true} if valid[x] { fmt.Println("found") } else { fmt.Println("not found") }
Utiliser des valeurs nulles
Profitez du fait que lorsqu'une clé n'est pas trouvée dans une carte, la valeur zéro pour bool (false) est renvoyée. Cela vous permet d'omettre l'affectation explicite de vraies valeurs, simplifiant ainsi l'initialisation :
valid := map[string]bool{"red", "green", "yellow", "blue"} if valid[x] { fmt.Println("found") } else { fmt.Println("not found") }
Optimisations
Pour les scénarios avec un grand nombre de valeurs valides, pensez à utiliser une boucle for range pour initialiser la carte. Cela fournit une solution compacte :
for _, v := range []string{"red", "green", "yellow", "blue"} { valid[v] = true }
De plus, vous pouvez optimiser le code en définissant une variable const pour éviter les valeurs booléennes répétitives :
const 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!