Назад к урокам

Циклы в Go

Урок объясняет работу циклов в Go: базовый for, поведение как while, бесконечные циклы, использование break и continue. Разбираем, как правильно управлять потоком выполнения и избегать ошибок.

Начинающий7 min

🔁 Циклы в Go

Циклы позволяют повторять действия и обрабатывать коллекции. В Go для всех видов циклов используется ключевое слово for.


🔧 Базовый цикл for

Классическая форма цикла состоит из трёх частей:

for i := 0; i < 5; i++ {
    fmt.Println(i)
}
  • инициализация - выполняется один раз перед началом цикла
  • условие - цикл выполняется, пока оно истинно
  • пост-действие - выполняется после каждой итерации

🔄 Поведение цикла как while

Если убрать части конструкции, for может работать как while:

i := 0
for i < 5 {
    fmt.Println(i)
    i++
}

Важно вручную обновлять переменные, иначе цикл станет бесконечным.


♾ Бесконечные циклы

Бесконечные циклы часто используют в серверах или задачах, которые должны работать постоянно:

for {
    // обработка запросов
}

Чтобы выйти из такого цикла, применяется break:

for {
    if somethingHappened {
        break
    }
}

⏭ Пропуск итерации: continue

continue прерывает текущую итерацию и переходит к следующей:

for i := 0; i < 10; i++ {
    if i%2 == 0 {
        continue
    }
    fmt.Println(i) // выводит только нечётные числа
}

📘 Итоги

  • Единственный оператор цикла в Go - for.
  • for может работать как обычный цикл, как while или как бесконечный цикл.
  • break завершает цикл досрочно.
  • continue пропускает текущую итерацию.
  • Переменные, объявленные в инициализации, доступны только внутри цикла.