Sobes.tech
Junior — Middle

Proqramlaşdırmada sətir elementləri üzərində təkrarlama həyata keçirildikdə nə baş verir?

sobes.tech Süni İntellekt

AI-dan cavab

Go-da, for range döngüsü ilə bir sətir üzərində təkrarlama zamanı, Unicode kod nöqtələri (rune'lar) ilə keçilir, baytlar ilə deyil. Bu, döngüdəki hər elementin Unicode simvolu olduğunu və UTF-8-də bir neçə bayt tutduğunu göstərir.

Məsələn:

s := "Привет"
for i, r := range s {
    fmt.Printf("İndeks: %d, Runa: %c\n", i, r)
}

Burada, i sətirdə rune-un ilk baytının indeksidir və r özü rune (simvol)dur.

Bu şəkildə, Go-da sətir üzərində təkrarlama çoxdilli simvollarla düzgün işləməyə imkan verir və UTF-8-də çoxbaytlı simvolları pozmur.