Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mendapatkan Nilai Unikod Aksara dalam Go: Serupa dengan charCodeAt() JavaScript?

Bagaimana untuk Mendapatkan Nilai Unikod Aksara dalam Go: Serupa dengan charCodeAt() JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-04 01:18:03884semak imbas

How to Get the Unicode Value of a Character in Go: Similar to JavaScript's charCodeAt()?

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!

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