Maison >développement back-end >Golang >Comment accéder aux variables déclarées dans une instruction « if...else » dans Go ?

Comment accéder aux variables déclarées dans une instruction « if...else » dans Go ?

DDD
DDDoriginal
2024-11-14 09:33:02999parcourir

How to Access Variables Declared Inside an `if...else` Statement in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn