Циклы

На циклах в Go заканчивается картина трёх базовых структур: последовательность, ветвление, цикл. Цикл нужен, чтобы выполнить один и тот же блок кода несколько раз, вместо копипасты одинаковых инструкций.

Зачем нужен цикл

  • Без цикла вывод 1, 2, 3 делается вручную: увеличить переменную, напечатать, повторить — это нарушает принцип DRY (Don’t Repeat Yourself).
  • Цикл позволяет описать: «сделай это N раз» или «делай, пока выполняется условие», в одной компактной конструкции.

Базовый синтаксис for

В Go есть один ключевой циклfor, который может принимать разные формы.

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

fmt.Println("Пример: вывести числа от 1 до 5:")

for index := 1; index <= 5; index++ {
    fmt.Printf("%d ", index)
}
fmt.Println()

Компоненты цикла

for i := 1; i <= 5; i++ {
    // тело цикла
}
  • i := 1init: начальное значение счётчика (выполняется один раз перед стартом цикла).
  • i <= 5condition: условие продолжения; пока оно истинно, тело цикла выполняется.
  • i++post: приращение счётчика после каждой итерации.
  • Тело цикла { ... } выполняется на каждой итерации, пока условие истинно.

Такой цикл последовательно выведет значения 1 2 3 4 5 и передаст управление дальше по программе.