Maison >développement back-end >Golang >Comment déclarer et utiliser correctement les variables dans les instructions conditionnelles « if » de Go ?

Comment déclarer et utiliser correctement les variables dans les instructions conditionnelles « if » de Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-29 06:44:13910parcourir

How to Properly Declare and Use Variables Within Go's Conditional `if` Statements?

Portée variable dans les instructions conditionnelles dans Go

Lors de la navigation dans les nuances des portées variables dans Go, en particulier dans les instructions conditionnelles if, il peut être Il est perplexe de rencontrer l'incapacité de définir des variables à l'intérieur de l'instruction tout en les utilisant ultérieurement.

Considérez ce qui suit case :

if len(array1) > len(array2) {
    new1 := make([]string, 0, len(array1))
    // Use new1...
} else {
    new1 := make([]string, 0, len(array2))
    // Use new1...
}

Ce code génère une erreur car new1 ne peut pas être déclaré dans le bloc if. Cependant, le créer avant le bloc pose problème car sa taille dépend du résultat de la comparaison.

Solution

La solution de contournement optimale est de déclarer new1 avant le if bloquer et utiliser make dans la déclaration :

var new1 []string

if len(array1) > len(array2) {
    new1 = make([]string, 0, len(array1))
    // Use new1...
} else {
    new1 = make([]string, 0, len(array2))
    // Use new1...
}

Cela permet la création de new1 avec une taille basée sur le résultat conditionnel, tout en conservant son accessibilité en dehors du if bloquer.

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!

Déclaration:
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