Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda mengakses bait dan rune dalam rentetan Go?
Pengaksesan dan Penukaran Byte dalam Rentetan Go
Dalam Go, rentetan menyimpan bait berkod UTF-8, bukan aksara atau rune. Mengakses elemen rentetan, yang dilambangkan sebagai str[i], mengembalikan bait (bait atau uint8) dan bukannya menukarnya kepada rune.
Apabila mengulangi rentetan menggunakan binaan julat untuk ..., anda boleh mengakses sama ada bait atau rune. Mengindeks rentetan (cth., str[i]) mengakses bait secara langsung, manakala gelung tanpa penukaran (untuk i := julat str) berulang melalui rune.
Pertimbangan Prestasi
Menukar rentetan kepada kepingan bait menggunakan []bait(str) tidak melaksanakan salinan sebenar; ia dioptimumkan. Oleh itu, tiada perbezaan prestasi antara dua kaedah yang dibentangkan:
str := "large text" for i := range str { // use str[i] }
str := "large text" str2 := []byte(str) for _, s := range str2 { // use s }
Walau bagaimanapun, untuk prestasi maksimum dan kejelasan kod, adalah disyorkan untuk menggunakan kaedah yang sepadan dengan niat kod:
Lelaran Aksara
Apabila lelaran ke atas aksara rune dalam rentetan, adalah penting untuk ambil perhatian bahawa aksara multibait, seperti aksara Unicode, mungkin diwakili menggunakan berbilang bait dalam pengekodan UTF-8 yang mendasari . Sintaks untuk ... julat str mengendalikan ini secara automatik, mengembalikan indeks bait dan nilai aksara (rune) pada setiap lelaran.
Sumber Tambahan
Atas ialah kandungan terperinci Bagaimanakah anda mengakses bait dan rune dalam rentetan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!