Переменная цикла в Go
Счетчик цикла виден только внутри этого цикла.
Имя из части for i := 0; ... относится
к телу цикла и к условию в шапке. После
закрывающей скобки цикла к i обратиться
нельзя.
Типичный проход с счетчиком:
for i := 0; i < 3; i++ {
fmt.Println(i)
}
На экране три строки: 0, 1 и 2.
На каждом проходе используется свое значение
i для этого круга.
Вывод после цикла не собирается:
for i := 0; i < 3; i++ {
fmt.Println(i)
}
fmt.Println(i)
То же для цикла по строке, если имя берут
из range:
word := "go"
for i := range word {
fmt.Println(i)
}
fmt.Println(i)
Дан следующий код:
for n := 1; n < 4; n++ {
fmt.Println(n)
}
fmt.Println(n)
Скажите, соберется ли программа.
Дан следующий код:
for i := 0; i < 2; i++ {
fmt.Println(i)
}
Скажите, что выведется.
Скажите, где видно имя из for i := ...
и где уже нет.