Golang ist bei Entwicklern als schnelle und effiziente Programmiersprache weithin beliebt. Manchmal stoßen wir jedoch auf seltsame Probleme, z. B. wenn die println-Funktion von Golang verstümmelte Zeichen ausgibt. Dieses Problem wird im Allgemeinen durch eine inkonsistente Zeichenkodierung verursacht.
Strings in Golang sind in UTF-8 codiert und die println-Funktion verwendet standardmäßig die Standardausgabe, also die Konsole. In der Konsole wird im Allgemeinen die standardmäßige Zeichenkodierung des Systems verwendet. In Windows-Systemen ist die Standardzeichenkodierung GBK oder GB2312, was nicht mit der UTF-8-Kodierung übereinstimmt. Daher können bei der Ausgabe der Zeichenfolge an die Konsole verstümmelte Zeichen erscheinen.
Die Lösung für dieses Problem besteht darin, die Zeichenkodierung der Konsole auf UTF-8 einzustellen. In Windows-Systemen können wir zum Einrichten die folgenden Schritte ausführen:
In Windows-Systemen können Sie die Tastenkombination Win + R verwenden, um das Ausführungsfenster zu öffnen, „cmd“ eingeben und drücken Eingabetaste. Öffnen Sie eine Eingabeaufforderung.
In der Eingabeaufforderung können wir den Befehl chcp verwenden, um die Zeichenkodierung festzulegen. Geben Sie chcp 65001 ein und drücken Sie die Eingabetaste, um die Zeichenkodierung auf UTF-8 festzulegen. Wie unten gezeigt:
C:\> chcp 65001
Nach dem Festlegen der Zeichenkodierung können wir normalerweise UTF-8-kodierte Zeichenfolgen in der Konsole ausgeben. In Golang können wir die Println-Funktion im fmt-Paket verwenden, um einen String auszugeben. Im Code müssen wir die Zeichenkodierung des Ausgabestreams als UTF-8 angeben, um eine korrekte Ausgabe sicherzustellen. Das Codebeispiel lautet wie folgt:
package main import ( "fmt" "os" ) func main() { f, err := os.OpenFile("log.txt", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { fmt.Println(err) return } defer f.Close() fmt.Fprintf(f, "Hello, 世界") }
Nachdem wir das Programm geschrieben haben, müssen wir den Befehl go build verwenden, um das Programm zu kompilieren und die generierte ausführbare Datei auszuführen. Geben Sie in der Konsole den folgenden Befehl zum Kompilieren ein:
C:\go\src\helloworld> go build
Nachdem die Kompilierung abgeschlossen ist, können wir das Programm ausführen. Geben Sie in der Konsole den folgenden Befehl ein, um die ausführbare Datei auszuführen:
C:\go\src\helloworld> helloworld.exe
Beim Ausführen des Programms werden wir feststellen, dass „Hello, world“ normal in der Datei log.txt ausgegeben wurde.
Zusammenfassung
Wenn wir in Golang auf das Problem einer verstümmelten Konsolenausgabe stoßen, können wir es lösen, indem wir die Zeichenkodierung festlegen. Auf Windows-Systemen können Sie mit dem Befehl chcp die Zeichenkodierung auf UTF-8 einstellen. Im Programm müssen wir die Zeichenkodierung des Ausgabestreams als UTF-8 angeben, um eine korrekte Ausgabe sicherzustellen. Auf diese Weise können wir das Problem der verstümmelten Ausgabe der Golang-Println-Funktion leicht lösen und die Lesbarkeit und Wartbarkeit des Programms verbessern.
Das obige ist der detaillierte Inhalt vonSo lösen Sie verstümmelten Golang-Println-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!