Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyelesaikan kod golang println bercelaru

Bagaimana untuk menyelesaikan kod golang println bercelaru

PHPz
PHPzasal
2023-04-27 09:10:21979semak imbas

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:

  1. Buka command prompt

Dalam sistem Windows, anda boleh menggunakan kekunci pintasan Win + R untuk buka tetingkap run , masukkan "cmd" dan tekan Enter untuk membuka command prompt.

  1. Tetapkan pengekodan aksara

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
  1. Jalankan program Golang

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, 世界")
}
  1. Kompil dan jalankan atur cara

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn