Heim > Backend-Entwicklung > Golang > Warum verursachen Semikolons und Anweisungen außerhalb von Funktionen Fehler in meinem Go-Code?

Warum verursachen Semikolons und Anweisungen außerhalb von Funktionen Fehler in meinem Go-Code?

Susan Sarandon
Freigeben: 2024-11-02 21:28:30
Original
736 Leute haben es durchsucht

Why Are Semicolons and Statements Outside Functions Causing Errors in My Go Code?

Ungelöste syntaktische Fehler: Untersuchen der Probleme „Unerwartetes Semikolon“ und „Nicht-Deklarationserklärung“

Im bereitgestellten Code stoßen Sie auf mehrere Fehler, insbesondere in den Zeilen 21, 28 und 32. Schauen wir uns jeden Fehler und seine Lösung genauer an:

Fehler in Zeile 21: Unerwartetes Semikolon oder Newline vor „else“

Dieser Fehler tritt auf, weil Go erfordert, dass das Schlüsselwort „else“ in derselben Zeile wie die schließende Klammer der entsprechenden „if“- oder „else if“-Anweisung platziert wird. In Ihrem Code endet der „if“-Block in Zeile 20 mit einem Semikolon, das automatisch ein Zeilenumbruchzeichen einfügt. Folglich wird die „else“-Anweisung in Zeile 21 zu einer separaten Anweisung, was zu einem Syntaxfehler führt.

Lösung:
Verschieben Sie das Schlüsselwort „else“ in dieselbe Zeile wie die schließende geschweifte Klammer des „if“-Blocks, wie unten gezeigt:

...
        } else if len(current_mid) > 0 {
            processTopic(current_mid, current_topic, xmlFile)
            current_topic = make(map[string][]string)
        }
...
Nach dem Login kopieren

Fehler in den Zeilen 28 und 32: Non-Declaration Statement Outside Function Body

Diese Fehler Geben Sie an, dass Anweisungen (processTopic-Aufrufe) außerhalb des Hauptteils der Funktion main() platziert sind. In Go müssen Nicht-Deklarationsanweisungen innerhalb von Funktionskörpern erscheinen.

Lösung:
Verschieben Sie die ProcessTopic-Aufrufe zurück in den Funktionskörper main(), wie unten gezeigt:

...
} 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
...
Nach dem Login kopieren

Durch die Behebung dieser Fehler sollte Ihr Code nun erfolgreich kompiliert werden. Beachten Sie die folgenden Regeln, um ähnliche Probleme in Zukunft zu vermeiden:

  1. „else“ und „else if“ müssen in derselben Zeile wie die schließende Klammer des entsprechenden if-Blocks deklariert werden.
  2. Nichtdeklarationserklärungen müssen in Funktionskörpern platziert werden.

Das obige ist der detaillierte Inhalt vonWarum verursachen Semikolons und Anweisungen außerhalb von Funktionen Fehler in meinem Go-Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage