2010-12-15 9 views
1

Wenn ich versuche, das Beispiel von der Titelseite unterwegs Sprache Website mit dem 6g Compiler zu kompilieren, bekomme ich diesen Fehler:Hallo Welt Syntaxfehler

hello.go:5: syntax error near "<string>"

ich search on Google reveals dass ein paar Leute erlebt haben, das, aber ich habe keine lösung gefunden. Die Antwort scheint immer zu sein: "Es funktioniert für mich, du musst etwas falsch machen".

Ich habe eine description of the problem gefunden, die 5 Monate zurückreicht, also vermute ich, dass es kein Problem mit dem besonderen Build von gehe, den ich benutze. Außerdem habe ich versucht, eine neuere Version zu ziehen, und das Problem bleibt bestehen.

Der Quellcode in Frage:

package main 

import "fmt" 

func main() { 
    fmt.Println("Hello, 世界") 
} 

Btw, ich spare den Quellcode als UTF-8 mit LFs für Zeilenumbrüche. Es sollte kein Textcodierungsproblem sein. Ich habe auch mit verschiedenen Zeichenfolgen versucht, die "exotische" Zeichen nicht enthalten

Antwort

1

Versuchen Sie "welche 6g". Sie könnten einen alten Build abholen. Zumindest war das mein Fall. Ich hatte einen alten 2009 Build in meinem Weg. Nach der Fixierung der Umgebung funktionierte es.

0

Ihre Sonderzeichen dort können Konflikte mit dem Compiler verursachen. Versuchen Sie, diesen Code auf mehrere Arten mit Notepad (ANSI, UTF-8) zu speichern, und sehen Sie, ob der Compiler eine davon übernehmen wird.

+0

Nach Spezifikation müssen alle Go-Quelldateien UTF-8 sein. –

1

Probleme wie diese sind typisch, wenn es ein Codierproblem gibt.

Wenn Sie unter Windows arbeiten, kann ein Editor wie Notepad++ zwischen vielen Codierungsformaten konvertieren. Daher würde ich vorschlagen, Ihre Quelle ohne BOM in UTF-8 zu konvertieren und dann neu zu kompilieren.

Wenn Sie Linux verwenden, gibt es eine guide available, die Ihnen zeigt, wie Sie die Codierung eines Dokuments ermitteln und ändern können.