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++
}