Sobes.tech
Назад к вопросам
Junior — Middle
77

Какво происходит, когда выполняется итерация по строковым элементам в программировании?

Ответ от нейросети

sobes.tech AI

В Go при итерации по строке с помощью цикла for range происходит перебор по Unicode-кодовым точкам (рунам), а не по байтам. Это значит, что каждый элемент цикла — это символ Unicode, который может занимать несколько байт в UTF-8.

Например:

s := "Привет"
for i, r := range s {
    fmt.Printf("Индекс: %d, Руна: %c\n", i, r)
}

Здесь i — индекс первого байта руны в строке, а r — сама руна (символ).

Таким образом, итерация по строке в Go позволяет корректно работать с многоязычными символами и не ломает многобайтовые символы UTF-8.