Назад к вопросам
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.