Middle
Ce este o iterație peste un șir folosind for range în Go? Ce sunt variabilele i și v din interiorul buclei, care sunt tipurile lor de date?
sobes.tech AI
Răspuns de la AI
В Go конструкция for range используется для итерации по коллекциям, включая строки. При итерации по строке for i, v := range str:
i— индекс текущего символа в строке, типint.v— значение текущего символа, типrune(кодовая точка Unicode).
Это важно, потому что в Go строки — это последовательности байтов, а range по строке возвращает именно рунные символы, корректно обрабатывая многобайтовые символы UTF-8.
Пример:
str := "Привет"
for i, v := range str {
fmt.Printf("Индекс: %d, Символ: %c, Тип: %T\n", i, v, v)
}
Вывод покажет индексы байтов начала каждого символа и сами символы как руны.