Cara Mendapatkan Nilai Unikod Aksara dalam Go, Sama seperti Kaedah charCodeAt() JavaScript
Kaedah charCodeAt() JavaScript menyediakan perwakilan berangka aksara Unicode pada indeks tertentu dalam rentetan. Dalam Go, pengendalian nilai Unikod dan mendapatkan semula kod aksara memerlukan pendekatan yang sedikit berbeza.
Memahami Rune dalam Go
Dalam Go, aksara diwakili oleh jenis rune, dan alias untuk int32. Ini bermakna setiap aksara sudah pun menjadi nombor, tidak seperti rentetan JavaScript yang mana aksara diwakili oleh nombor yang diakses melalui charCodeAt().
Menukar Rentetan kepada Runes
Untuk mendapatkan nilai Unicode berangka aksara, tukarkan rentetan kepada sekeping rune menggunakan []rune(string). Pendekatan ini membolehkan anda mengakses rune individu dalam rentetan.
Menggunakan Gelung untuk Julat
Sebagai alternatif, anda boleh melelaran ke atas rune dalam rentetan menggunakan julat untuk gelung. Pendekatan ini lebih cekap daripada menukar keseluruhan rentetan kepada sekeping rune.
Kod Contoh
Kod berikut menunjukkan cara mendapatkan nilai Unikod aksara:
<code class="go">package main import "fmt" func charCodeAt(s string, n int) int32 { i := 0 for _, r := range s { if i == n { return r } i++ } return 0 } func main() { fmt.Println(charCodeAt("s", 0)) // Outputs: 115 fmt.Println(charCodeAt("absdef", 2)) // Outputs: 115 }</code>
Bekerja dengan Bait
Jika anda mempunyai jaminan bahawa rentetan menggunakan aksara dengan kod kurang daripada 127, anda boleh terus mengindeks rentetan sebagai bait dan bukannya rune . Dalam Go, mengindeks rentetan mendapatkan semula nilai baitnya.
<code class="go">fmt.Println("s"[0]) // Outputs: 115 fmt.Println("absdef"[2]) // Outputs: 115</code>
Pendekatan ini lebih mudah tetapi mungkin membawa kepada ketidaktepatan jika rentetan mengandungi aksara berbilang bait.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Unikod Aksara dalam Go: Serupa dengan charCodeAt() JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!