Junior — Middle
Kas notiek, kad programmēšanā tiek veikta iterācija pār virknes elementiem?
sobes.tech AI
Atbilde no AI
Go valodā, kad iterējat pa virkni, izmantojot for range ciklu, tiek pāriets pēc Unicode kodu punktiem (rūnām), nevis pēc baitiem. Tas nozīmē, ka katrs cikla elements ir Unicode rakstzīme, kas UTF-8 var aizņemt vairākus baitus.
Piemēram:
s := "Привет"
for i, r := range s {
fmt.Printf("Indekss: %d, Runa: %c\n", i, r)
}
Šeit i ir pirmā baitu indekss rūnas virknes, un r ir pati rūna (rakstzīme).
Tādējādi, iterējot pa virkni Go valodā, ir iespējams pareizi strādāt ar daudzvalodu rakstzīmēm un nesalauzt daudzbaitu rakstzīmes UTF-8.