Dans Go, contrairement à Python, il n'y a pas d'équivalent direct au mot-clé Python in pour vérifier si une valeur est présente dans une liste. Cependant, il existe des moyens efficaces d'y parvenir en utilisant les cartes Go.
Une méthode consiste à exploiter une carte avec des clés de chaîne et des valeurs booléennes, où les clés représentent des valeurs valides et les valeurs booléennes sont toutes définies sur true. Pour tester si une valeur existe, il vous suffit de vérifier si la clé existe 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") }
Une autre option consiste à utiliser une tranche pour représenter les valeurs valides. Chaque élément de la tranche correspondrait à une valeur valide. Vous pouvez ensuite parcourir la tranche et créer la carte dynamiquement à l'aide d'une boucle for-range :
for _, v := range []string{"red", "green", "yellow", "blue"} { valid[v] = true }
Si les performances sont un problème, vous pouvez optimiser davantage la création de la carte en utilisant une valeur booléenne constante :
const t = true valid := map[string]bool{"red": t, "green": t, "yellow": t, "blue": t}
Cette approche vous permet de vérifier efficacement si une valeur est présente dans une liste à l'aide de cartes Go, sans avoir besoin d'utilitaires supplémentaires ni de génération de code.
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!