Golang は、高速で効率的なプログラミング言語として開発者に広く愛されています。ただし、golang の println 関数が文字化けを出力するなど、奇妙な問題に遭遇することがあります。この問題は通常、一貫性のない文字エンコーディングが原因で発生します。
Golang の文字列は UTF-8 でエンコードされ、println 関数はデフォルトで標準出力 (コンソール) を使用します。コンソールでは、通常、システムのデフォルトの文字エンコーディングが使用されます。 Windows システムでは、デフォルトの文字エンコーディングは GBK または GB2312 であり、UTF-8 エンコーディングと矛盾します。そのため、コンソールに文字列を出力すると文字化けが発生する場合があります。
この問題の解決策は、コンソールの文字エンコーディングを UTF-8 に設定することです。 Windows システムでは、次の手順に従ってセットアップできます。
Windows システムでは、Win R ショートカット キーを使用して開くことができます。実行ウィンドウで「cmd」と入力し、Enter キーを押してコマンド プロンプトを開きます。
コマンド プロンプトで、chcp コマンドを使用して文字エンコーディングを設定できます。 「chcp 65001」と入力して Enter キーを押し、文字エンコーディングを UTF-8 に設定します。以下に示すように:
C:\> chcp 65001
文字エンコーディングを設定した後、通常は UTF-8 でエンコードされた文字列をコンソールに出力できます。 Golang では、fmt パッケージの Println 関数を使用して文字列を出力できます。正しい出力を確保するには、コード内で出力ストリームの文字エンコーディングを UTF-8 として指定する必要があります。コード例は次のとおりです。
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, 世界") }
プログラムを作成した後、go build コマンドを使用してプログラムをコンパイルして実行する必要があります。生成された実行可能ファイル。コンソールで、次のコマンドを入力してコンパイルします。
C:\go\src\helloworld> go build
コンパイルが完了したら、プログラムを実行できます。コンソールで次のコマンドを入力して実行可能ファイルを実行します。
C:\go\src\helloworld> helloworld.exe
プログラムを実行すると、log.txt ファイルに「Hello, world」が正常に出力されていることがわかります。
まとめ
Golang では、コンソール出力が文字化けする問題が発生した場合、文字エンコーディングを設定することで解決できます。 Windows システムでは、chcp コマンドを使用して文字エンコーディングを UTF-8 に設定できます。プログラムでは、正しい出力を保証するために、出力ストリームの文字エンコーディングを UTF-8 として指定する必要があります。これにより、golangのprintln関数による出力文字化けの問題を簡単に解決でき、プログラムの可読性と保守性が向上します。
以上がgolang println の文字化けコードを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。