Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah Perbezaan Antara Literal Rune dan Literal String dalam Go?

Apakah Perbezaan Antara Literal Rune dan Literal String dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-18 05:45:02664semak imbas

What's the Difference Between Rune Literals and String Literals in Go?

Memahami Literal Rune dalam Go

Dalam kod Go anda, anda menghadapi ralat yang berkaitan dengan "lebih daripada satu aksara dalam literal rune." Untuk memahami ralat ini, mari kita mendalami konsep rune literal dalam Go dan sebab anda perlu melaraskan kod anda dengan sewajarnya.

Rune Literals dalam Go

In Go, literal rune mewakili titik kod Unicode dan digunakan untuk menyatakan aksara tunggal. Ia disertakan dalam petikan tunggal (' '). Literal Rune berbeza daripada literal rentetan, yang disertakan dalam petikan berganda (" ") atau petikan belakang (`).

Ralat: Berbilang Aksara dalam Literal Rune

Apabila bekerja dengan literal rune, adalah penting untuk memastikan bahawa terdapat hanya satu aksara yang disertakan dalam petikan tunggal. Dalam kod anda, anda cuba menggunakan penentu format rentetan (%d) dengan literal rune dalam fungsi Printf. Ini tidak betul kerana %d bertujuan untuk integer perpuluhan.

Penyelesaian: Gunakan %q atau %v

Untuk menyelesaikan isu ini, anda perlu mengubah suai penentu format untuk memadankan jenis data yang anda cetak. Dalam kes ini, memandangkan anda sedang mencetak rune, anda harus menggunakan sama ada penentu format %q atau %v.

  • %q: Mencetak literal rune sebagai aksara yang dipetik.
  • %v: Mencetak literal rune sebagai titik kod Unikodnya nilai.

Berikut ialah kod yang disemak dengan penentu format yang betul:

    if a % 2 == 0 {
        fmt.Println("%d is an even number", a)
    } else {
        fmt.Println("%d is an odd number", a)
    }

Atas ialah kandungan terperinci Apakah Perbezaan Antara Literal Rune dan Literal String dalam Go?. 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