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ée 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 à make.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3