Maison > développement back-end > Golang > Comment ignorer les valeurs dans la tranche si la condition correspond pour la première fois

Comment ignorer les valeurs dans la tranche si la condition correspond pour la première fois

王林
Libérer: 2024-02-08 21:15:21
avant
1246 Les gens l'ont consulté

Comment ignorer les valeurs dans la tranche si la condition correspond pour la première fois

l'éditeur php Banana vous présentera comment ignorer la valeur de la première condition de correspondance lors du découpage. Au cours du développement, nous devons souvent traiter des tranches de tableaux ou de chaînes, mais nous souhaitons parfois ignorer la première valeur de la tranche qui répond à une condition spécifique. Cela peut être dû au fait que nous ne nous soucions que des correspondances ultérieures ou que nous n'avons besoin de traiter les valeurs qu'après une position spécifique. Nous explorerons ensuite plusieurs solutions pour vous aider à atteindre cet objectif.

Contenu de la question

Comment ignorer les valeurs dans la tranche si la condition correspond une fois.

func main() {

    cloud := []string{"moon", "earth", "moon-light"}

    for _, value := range cloud {

        if strings.Contains(value, "mo") {
            fmt.Println("print1")
        } else if strings.Contains(value, "ear") {
            fmt.Println("print2")
        }
    }
}
Copier après la connexion

Sortie : imprimer 1 Imprimer 2 Imprimer 1

Résultat attendu : imprimer 1 Imprimer 2

Merci !

Solution de contournement

Vous pouvez utiliser la carte pour savoir si une situation spécifique se produit. C'est mieux que d'utiliser des variables car cela vous permet de suivre un grand nombre de conditions sans provoquer de confusion. Voici un exemple de ce que vous souhaitez :

cloud := []string{"moon", "earth", "moon-light"}
var conditionTracker = make(map[string]bool)

for _, value := range cloud {

    if _, ok := conditionTracker["first_condition"]; !ok && strings.Contains(value, "mo") {
        conditionTracker["first_condition"] = true
        fmt.Println("print1")
    } else if _, ok := conditionTracker["second_condition"]; !ok && strings.Contains(value, "ear") {
        conditionTracker["second_condition"] = true
        fmt.Println("print2")
    }
}
Copier après la connexion

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:stackoverflow.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal