Portée variable à l'intérieur des instructions If dans Go
Lorsque vous travaillez avec Go, vous pouvez rencontrer des situations dans lesquelles vous devez créer une variable dans un if déclaration et l'utiliser ensuite en dehors de cette déclaration. Cependant, Go applique des règles strictes de portée des variables, interdisant la création et l'utilisation de variables dans différents blocs de code.
Dans le code fourni, l'incapacité de créer la variable new1 dans l'instruction if pose un défi. Comme sa taille dépend du résultat de l'instruction if, la déclarer à l'extérieur peut ne pas être réalisable.
Pour résoudre ce problème, Go propose une solution simple et efficace. Vous pouvez déclarer la variable new1 en dehors de l'instruction if et utiliser make pour l'initialiser dans l'instruction. Cela vous permet de déterminer dynamiquement sa taille et de l'utiliser une fois l'instruction if terminée.
Voici le code modifié :
var new1 []string if len(array1) > len(array2) { new1 = make([]string, 0, len(array1)) // instructions ... } else { new1 = make([]string, 0, len(array2)) // other instructions ... } new2 := make([]string, 0, len(new1)) copy(new2, new1)
Cette approche préserve la portée de la variable tout en garantissant qu'elle peut être utilisé tout au long de la fonction, quel que soit le résultat de l'instruction if.
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!