Maison > Article > développement back-end > Pourquoi les points-virgules et les instructions en dehors des fonctions provoquent-ils des erreurs dans mon code Go ?
Erreurs syntaxiques non résolues : examen des problèmes de « point-virgule inattendu » et de « déclaration de non-déclaration »
Dans le code fourni, vous rencontrez plusieurs erreurs, en particulier sur les lignes 21, 28 et 32. Examinons chaque erreur et sa résolution :
Erreur à la ligne 21 : point-virgule ou nouvelle ligne inattendu avant "else"
Cette erreur se produit car Go nécessite que le mot-clé « else » soit placé sur la même ligne que l'accolade fermante de son instruction « if » ou « else if » correspondante. Dans votre code, le bloc "if" se termine à la ligne 20 par un point-virgule, qui insère automatiquement un caractère de nouvelle ligne. Par conséquent, l'instruction "else" à la ligne 21 devient une instruction distincte, ce qui entraîne une erreur de syntaxe.
Solution :
Déplacez le mot-clé "else" vers la même ligne que l'instruction "else" accolade fermante du bloc "if", comme indiqué ci-dessous :
... } else if len(current_mid) > 0 { processTopic(current_mid, current_topic, xmlFile) current_topic = make(map[string][]string) } ...
Erreurs sur les lignes 28 et 32 : déclaration de non-déclaration en dehors du corps de la fonction
Ces erreurs indiquez que vous avez des instructions (appels processTopic) placées en dehors du corps de la fonction main(). Dans Go, les déclarations de non-déclaration doivent apparaître dans les corps de fonction.
Solution :
Replacez les appels processTopic dans le corps de la fonction main(), comme illustré ci-dessous :
... } else if len(current_mid) > 0 { processTopic(current_mid, current_topic, xmlFile) current_topic = make(map[string][]string) } processTopic(current_mid, current_topic, xmlFile) // Moved inside function body ...
En corrigeant ces erreurs, votre code devrait maintenant être compilé avec succès. N'oubliez pas les règles suivantes pour éviter des problèmes similaires à l'avenir :
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!