Golang disukai secara meluas oleh pembangun sebagai bahasa pengaturcaraan yang pantas dan cekap. Walau bagaimanapun, kadangkala kita menghadapi masalah pelik, seperti fungsi println golang yang mengeluarkan aksara bercelaru. Masalah ini biasanya disebabkan oleh pengekodan aksara yang tidak konsisten.
String dalam Golang dikodkan dalam UTF-8, dan fungsi println menggunakan output standard secara lalai, iaitu konsol. Dalam konsol, pengekodan aksara lalai sistem biasanya digunakan. Dalam sistem Windows, pengekodan aksara lalai ialah GBK atau GB2312, yang tidak konsisten dengan pengekodan UTF-8. Oleh itu, apabila rentetan dikeluarkan ke konsol, aksara bercelaru mungkin muncul.
Penyelesaian kepada masalah ini ialah menetapkan pengekodan aksara konsol kepada UTF-8. Dalam sistem Windows, kita boleh mengikut langkah berikut untuk menyediakan:
Dalam sistem Windows, anda boleh menggunakan kekunci pintasan Win + R untuk buka tetingkap run , masukkan "cmd" dan tekan Enter untuk membuka command prompt.
Dalam gesaan arahan, kita boleh menggunakan arahan chcp untuk menetapkan pengekodan aksara. Masukkan chcp 65001 dan tekan Enter untuk menetapkan pengekodan aksara kepada UTF-8. Seperti yang ditunjukkan di bawah:
C:\> chcp 65001
Selepas menetapkan pengekodan aksara, kita biasanya boleh mengeluarkan rentetan yang dikodkan UTF-8 dalam konsol. Di Golang, kita boleh menggunakan fungsi Println dalam pakej fmt untuk mengeluarkan rentetan. Dalam kod, kita perlu menentukan pengekodan aksara aliran output sebagai UTF-8 untuk memastikan output yang betul. Contoh kod adalah seperti berikut:
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, 世界") }
Selepas menulis atur cara, kita perlu menggunakan arahan go build untuk menyusun atur cara dan jalankan fail boleh laku yang dihasilkan. Dalam konsol, masukkan arahan berikut untuk menyusun:
C:\go\src\helloworld> go build
Setelah kompilasi selesai, kita boleh menjalankan program. Dalam konsol, masukkan arahan berikut untuk menjalankan fail boleh laku:
C:\go\src\helloworld> helloworld.exe
Apabila menjalankan atur cara, kami akan mendapati bahawa "Hello, world" telah dikeluarkan secara normal dalam fail log.txt.
Ringkasan
Di Golang, jika kita menghadapi masalah output konsol yang bercelaru, kita boleh menyelesaikannya dengan menetapkan pengekodan aksara. Pada sistem Windows, anda boleh menggunakan arahan chcp untuk menetapkan pengekodan aksara kepada UTF-8. Dalam program ini, kita perlu menentukan pengekodan aksara aliran output sebagai UTF-8 untuk memastikan output yang betul. Dengan cara ini, kita boleh menyelesaikan masalah keluaran bercelaru dengan mudah oleh fungsi println golang dan meningkatkan kebolehbacaan dan kebolehselenggaraan program.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan kod golang println bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!