Sobes.tech
Junior — Middle

Dasturlashda satr elementlari bo'yicha takrorlash amalga oshirilganda nima bo'ladi?

sobes.tech AI

AIdan javob

Go tilida, for range siklidan foydalanib satr bo'yicha iteratsiya qilishda, Unicode kod nuqtalari (rune'lar) bo'yicha o'tiladi, baytlar bo'yicha emas. Bu shuni anglatadiki, sikldagi har bir element Unicode belgisi bo'lib, UTF-8 da bir nechta baytlarni olishi mumkin.

Masalan:

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

Bu yerda, i satrda rune ning birinchi baytining indeksidir, r esa o'zi rune (belgi).

Shu tarzda, Go da satr bo'yicha iteratsiya qilish ko'p tilli belgilar bilan to'g'ri ishlash imkonini beradi va UTF-8 da ko'p baytli belgilarni buzmaydi.