Maison > développement back-end > Golang > Comment puis-je vérifier efficacement l'existence de valeurs dans une liste Go à l'aide de cartes ?

Comment puis-je vérifier efficacement l'existence de valeurs dans une liste Go à l'aide de cartes ?

Mary-Kate Olsen
Libérer: 2024-11-24 09:38:12
original
739 Les gens l'ont consulté

How Can I Efficiently Check for Value Existence in a Go List Using Maps?

Vérifier l'existence d'une valeur dans une liste à l'aide de Go Maps

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")
}
Copier après la connexion

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
}
Copier après la connexion

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}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal