Memahami Rune dalam Go
In Go, rune ialah alias untuk int32. Walaupun ini mungkin kelihatan membingungkan pada mulanya, ia berfungsi untuk tujuan khusus dalam pengendalian aksara Unikod bahasa.
Literal Rune pada asasnya ialah nilai integer 32-bit yang mewakili titik kod Unikod. Sebagai contoh, 'a' sebenarnya ialah integer 97. Ini membenarkan perwakilan langsung aksara Unicode dalam kod dan memudahkan operasi yang berkaitan dengan manipulasi dan perbandingan aksara.
Untuk menggambarkan, pertimbangkan fungsi SwapRune:
func SwapRune(r rune) rune { switch { case 'a' <= r && r <= 'z': return r - 'a' + 'A' case 'A' <= r && r <= 'Z': return r - 'A' + 'a' default: return r } }
Fungsi ini menukar kes watak. Pernyataan suis menyemak sama ada aksara berada di antara 'a' dan 'z' atau 'A' dan 'Z' dan melakukan pengiraan sewajarnya untuk melakukan pertukaran.
Pengendali yang digunakan dalam pernyataan suis boleh dijelaskan seperti berikut:
Dalam fungsi SwapCase, pemetaan rune digunakan:
func SwapCase(str string) string { return strings.Map(SwapRune, str) }
Fungsi ini mengambil rentetan dan menggunakan fungsi SwapRune pada setiap aksara, menukar kes mereka dengan berkesan dan mengembalikan rentetan yang diubah suai.
Ringkasnya, rune dalam Go memberikan gambaran yang mudah bagi aksara Unicode sebagai integer, membolehkan manipulasi dan perbandingan aksara yang cekap dan intuitif dalam kod.
Atas ialah kandungan terperinci Bagaimanakah Runes in Go Memudahkan Manipulasi Aksara Unikod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!