Maison >développement back-end >Golang >Comment déclarer et utiliser correctement les variables dans les instructions conditionnelles « if » de Go ?
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!