Dans Go, les variables déclarées dans la portée d'une instruction if ne sont visibles que dans ce bloc. Cela peut présenter un défi lorsqu'il est nécessaire d'utiliser des variables déclarées dans l'instruction conditionnelle en dehors de celle-ci.
Considérez le code suivant :
if len(array1) > len(array2) { new1 := make([]string, 0, len(array1)) } // Error: new1 is not visible here new2 := make([]string, 0, len(new1))
Dans cet exemple, la variable new1 est déclarée dans l'instruction if et ne peut être utilisé que dans cette portée. Pour résoudre ce problème, new1 doit être déclaré en dehors de l'instruction if et initialisé à l'intérieur de celle-ci.
var new1 []string if len(array1) > len(array2) { new1 = make([]string, 0, len(array1)) } else { new1 = make([]string, 0, len(array2)) } new2 := make([]string, 0, len(new1))
Maintenant, new1 est déclaré en dehors de l'instruction if et est accessible à la fois dans les blocs if et else. Cela lui permet d'être utilisé dans le code suivant où il est passé comme argument à faire.
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!