Maison >développement back-end >Golang >Comment accéder aux variables déclarées dans une instruction « if...else » dans Go ?
Portée des variables dans Go
Dans Go, les variables doivent être déclarées dans une portée spécifique. Lorsque vous déclarez une variable dans une instruction if...else, sa portée est limitée à cette instruction. Cela signifie que la variable ne peut pas être utilisée en dehors de l'instruction.
Considérez le code suivant :
if strings.EqualFold(r.Method, "GET") || strings.EqualFold(r.Method, "") { req, er := http.NewRequest(r.Method, r.Uri, b) } else { req, er := http.NewRequest(r.Method, r.Uri, b) }
Dans ce code, les variables req et er sont déclarées à l'intérieur du if... déclaration sinon. Cela signifie qu'ils ne peuvent être utilisés que dans cette instruction. En dehors de l'instruction, les variables ne sont pas définies.
Pour résoudre ce problème, vous pouvez déclarer les variables en dehors de l'instruction if...else, comme indiqué ci-dessous :
var req *http.Request var er error if strings.EqualFold(r.Method, "GET") || strings.EqualFold(r.Method, "") { req, er = http.NewRequest(r.Method, r.Uri, b) } else { req, er = http.NewRequest(r.Method, r.Uri, b) }
Maintenant , les variables req et er sont déclarées en dehors de l'instruction if...else, elles peuvent donc être utilisées tout au long de la fonction.
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!