„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum erhalte ich in Go den Befehl „Syntaxfehler: Unerwartetes Semikolon vor Else“?

Warum erhalte ich in Go den Befehl „Syntaxfehler: Unerwartetes Semikolon vor Else“?

Veröffentlicht am 09.11.2024
Durchsuche:179

Why Am I Getting \

Unerwartetes Semikolon vor Else in Go: Eine detaillierte Erklärung

Ihr Go-Code stößt auf einen ungewöhnlichen Fehler in Zeile 21: „Syntaxfehler: unerwartet Semikolon oder Newline vor sonst. Trotz Ihrer Behauptung zeigt eine genauere Betrachtung, dass vor der „else“-Anweisung in dieser Zeile tatsächlich ein Semikolon (;) steht.

Das Kernproblem ergibt sich hier aus der automatischen Semikolon-Einfügeregel von Go. Normalerweise sind Semikolons in Go optional; Der Compiler fügt sie jedoch automatisch am Ende bestimmter Zeilen ein, um die syntaktische Integrität aufrechtzuerhalten. Ein solcher Fall ist, wenn eine Zeile mit einer schließenden Klammer „}“ endet, wie sie beispielsweise die „if“-Anweisung in Zeile 21 abschließt.

Dieses Verhalten stellt ein Hindernis für die nachfolgende „else“-Anweisung dar. In Go sollte der „else“-Block in derselben Zeile wie die schließende Klammer der „if“-Anweisung geschrieben werden. Daher kann der Compiler am Ende von Zeile 21 kein Semikolon hinzufügen, da dadurch zwei separate Anweisungen erstellt würden, was einer falschen Syntax entspricht.

Um dieses Problem zu beheben, platzieren Sie das Schlüsselwort „else“ direkt nach der schließenden Klammer Zeile 21:

if subject == current_mid {
    current_topic[predicate] = append(current_topic[predicate], object)
} else {
    processTopic(current_mid, current_topic, xmlFile)
    current_topic = make(map[string][]string)
}

Diese Änderung stellt sicher, dass die „if“- und „else“-Anweisungen eine einzige zusammengesetzte Anweisung bilden, wie es die Go-Syntax erfordert.

Die Fehler in den Zeilen 28 und 32 beziehen sich auf Anweisungen außerhalb des Gültigkeitsbereichs der „Haupt“-Funktion. In Go müssen Anweisungen im Hauptteil der Funktion eingeschlossen sein, zu der sie gehören. Um diese Fehler zu beheben, fügen Sie die Anweisungen in geschweiften Klammern „}“ in den Hauptteil der Funktion ein.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3