Junior — Middle
Kādas ir īpašības, pārvietojoties pa rakstzīmēm virknes programmēšanā?
sobes.tech AI
Atbilde no AI
Go valodā virknes tiek attēlotas kā baitu secība, bet bieži tās satur UTF-8 kodētos rakstzīmes, kur viena rakstzīme (runa) var aizņemt vairākus baitus. Pārlūkojot virkni pēc indeksiem (piemēram, for i := 0; i < len(s); i++) jūs pārlūkojat baitus, nevis rakstzīmes, kas var novest pie nepareizas daudzbaitu rakstzīmju apstrādes.
Lai pareizi pārlūkotu rakstzīmes, tiek izmantota for range cilpa, kas iterē pār runām (Unicode kodu punktiem):
s := "Привет"
for i, r := range s {
fmt.Printf("indekss: %d, rakstzīme: %c\n", i, r)
}
Šeit i ir pirmā baitu indekss runā virknes, bet r ir pati runa. Tas ir svarīgi, lai pareizi strādātu ar daudzvalodu tekstiem un rakstzīmēm ārpus ASCII.