Перейти к основному содержимому

for

Циклы позволяют в зависимости от определенного условия выполнять некоторые действия множество раз. Фактически в Go есть только один цикл - цикл for, который может принимать разные формы. Этот цикл имеет следующее формальное определение:

for [инициализация счетчика]; [условие]; [изменение счетчика]{
// действия
}

Например, выведем с помощью цикла квадраты чисел:

package main
import "fmt"

func main() {

for i := 1; i < 10; i++{
fmt.Println(i * i)
}
}

Объявление цикла for разбивается на три части. Вначале идет инициализация счетчика: i := 1. Фактически она представляет объявление переменной, которая будет использоваться внутри цикла. В данном случае это счетчик i, начальное значение которого равно 1.

Вторая часть представляет условие: i < 10. Пока это условие истинно, то есть возвращает true, будет продолжаться цикл.

Третья часть представляет изменение (увеличение) счетчика на единицу.

В теле цикла на консоль выводится квадрат числа i.

Таким образом, цикл сработает 9 раз, пока значение i не станет равным 10. И каждый раз это значение будет увеличиваться на 1. Каждый отдельный проход цикла называется итерацией. То есть в данном случае будет 9 итераций. Нам необязательно указывать все условия при объявлении цикла. Например, можно вынести объявление переменной вовне:

var i = 1
for ; i < 10; i++{
fmt.Println(i * i)
}

Можно убрать изменение счетчика в само тело цикла и оставить только условие:

var i = 1
for ; i < 10;{
fmt.Println(i * i)
i++
}

Если цикл использует только условие, то его можно сократить следующим образом:

var i = 1
for i < 10{
fmt.Println(i * i)
i++
}