Sobes.tech
Middle

Go'da for range bilan satr ustidan takrorlash nima? Tsikl ichida i va v o'zgaruvchilari nima, ularning ma'lumotlar turlari qanday?

sobes.tech AI

AIdan javob

В 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)
}

Вывод покажет индексы байтов начала каждого символа и сами символы как руны.