Rumah >pembangunan bahagian belakang >Golang >Mengapakah Menggunakan Petikan Tunggal untuk Rentetan Menyebabkan Ralat dalam Go?

Mengapakah Menggunakan Petikan Tunggal untuk Rentetan Menyebabkan Ralat dalam Go?

Barbara Streisand
Barbara Streisandasal
2024-12-01 10:28:13587semak imbas

Why Does Using Single Quotes for Strings Cause Errors in Go?

Petikan Rentetan dalam Golang

Dalam Golang, rentetan yang menggunakan petikan tunggal mewakili satu aksara atau rune, bukan rentetan. Percubaan untuk menetapkan rentetan kepada pembolehubah petikan tunggal akan mengakibatkan ralat kerana ia melanggar peraturan jenis bahasa.

Watak Tunggal lwn. Rentetan

A petikan tunggal melampirkan rune, yang merupakan titik kod Unicode tunggal. Contohnya:

a := 'a' // represents the rune 'a'

Sebaliknya, petikan berganda melampirkan rentetan, yang merupakan urutan sifar atau lebih rune.

a := "hello" // represents the string "hello"

Mesej Ralat

Mesej ralat yang anda terima menunjukkan bahawa anda sedang cuba untuk menetapkan rentetan (disertakan dalam petikan tunggal) kepada pembolehubah daripada jenis rentetan. Golang menafsirkan nilai petikan tunggal sebagai rune dan mengadu tentang ketidakpadanan jenis.

Pada sesetengah sistem, anda mungkin melihat ralat "harfiah rune haram", yang bermaksud petikan tunggal itu bukan literal rune yang sah . Di taman permainan Go, anda mungkin melihat satu siri ralat sintaks yang berkaitan dengan penggunaan petikan tunggal.

Perbandingan dengan Bahasa Lain

Tidak seperti Python dan Perl, Golang membezakan antara aksara dan rentetan. Perbezaan ini adalah perlu kerana Golang menyokong Unicode, yang boleh mewakili pelbagai aksara menggunakan berbilang titik kod.

Mata Kod dan Rune

Di Golang, rune ialah integer mewakili titik kod Unicode. Rentetan terdiri daripada rune. Sebagai contoh, rentetan "hello" diwakili sebagai urutan rune berikut:

[]rune{0x68, 0x65, 0x6c, 0x6c, 0x6f}

Setiap rune sepadan dengan aksara Unicode tertentu. Bahagian "Mata kod, aksara dan rune" pada Go Blog on Strings memberikan butiran lanjut tentang topik ini.

Atas ialah kandungan terperinci Mengapakah Menggunakan Petikan Tunggal untuk Rentetan Menyebabkan Ralat 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