Maison > développement back-end > Golang > Comment vérifier efficacement l'adhésion aux tranches et aux cartes Go ?

Comment vérifier efficacement l'adhésion aux tranches et aux cartes Go ?

Linda Hamilton
Libérer: 2024-12-13 20:16:15
original
163 Les gens l'ont consulté

How to Efficiently Check for Membership in Go Slices and Maps?

Syntaxe "if x in" efficace dans Go : comparaison avec la construction de Python

Go ne fournit pas nativement de construction "if x in" similaire à Python. Cependant, il existe des techniques efficaces pour obtenir la même fonctionnalité pour les tableaux ou les tranches, et en utilisant des cartes pour des vérifications d'adhésion plus efficaces.

Pour les tableaux et les tranches

In Go 1.18 et versions ultérieures, les tranches offrent la fonction Contient pour vérifier facilement l'adhésion :

if contains.Contains(array, "x") {
  // Perform actions
}
Copier après la connexion

Avant de partir 1.18, il n'y avait pas d'opérateur intégré pour les vérifications d'appartenance à un tableau ou à une tranche. Une fonction personnalisée pourrait être implémentée :

func stringInSlice(a string, list []string) bool {
    for _, b := range list {
        if b == a {
            return true
        }
    }
    return false
}
Copier après la connexion

Pour Maps

Les cartes fournissent des contrôles d'adhésion plus efficaces en stockant des paires clé-valeur. Pour vérifier si un élément existe dans une carte, utilisez la syntaxe suivante :

if visitedURL[thisSite] {
    // Perform actions
}
Copier après la connexion

Où l'URL visitée est une carte avec des clés représentant les éléments et des valeurs représentant leur présence (par exemple, vrai pour les éléments existants).

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