Variables non définies dans Go : gérer les limitations de portée
Lorsque vous travaillez avec Go, il est crucial de comprendre la portée des variables pour éviter les erreurs de compilation telles que " erreur non définie" ou "utilisateur non défini". Dans l'exemple fourni, l'erreur survient en raison de la portée restreinte des variables user et err.
Initialement, les variables sont déclarées dans le bloc de condition, limitant leur accessibilité uniquement à ce bloc spécifique. En essayant d'y accéder en dehors de ce bloc, le compilateur rencontre l'erreur « non définie ». Pour résoudre ce problème, déclarez l'utilisateur et faites une erreur en dehors de l'instruction if-else, avant la condition, comme indiqué dans l'extrait mis à jour :
var user core.User var err error if req.Id == nil { user, err = signup(C, c, &req) } else { user, err = update(C, c, &req) }
Une approche alternative consiste à utiliser une déclaration sur une ligne :
user, err := core.User{}, error(nil)
De plus, la déclaration de variable courte utilisée dans le code mis à jour (par exemple, user, err := ...) a créé de nouvelles variables dans le bloc interne, ce qui a pour résultat "l'utilisateur déclaré et non erreur "utilisée". Pour éviter cela, il est conseillé de déclarer les variables avant le bloc if et d'utiliser des affectations à la place, comme démontré dans l'exemple révisé.
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!