Первоначально было опубликовано здесь!
В Golang/Go сначала используется ключевое слово for
, за которым следует инициализация индексной переменной, заканчивающаяся символом ;
(точка с запятой), затем условие цикла, заканчивающееся символом ;
, затем оператор инкремента/декремента индексной переменной и, наконец, символ {}
(открывающие и закрывающие фигурные скобки), внутри которого записывается тело цикла.
TL;DR
package main
import "fmt"
func main() {
// a simple for loop that prints number from 1 to 10
for i := 1; i <= 10; i = i + 1 {
// cool code to execute on each loop iteration
fmt.Println(i)
}
}
Например, допустим, нам нужен цикл, в котором мы хотим вывести первые 10 чисел.
Для этого сначала мы можем написать ключевое слово for
, за которым следует инициализация переменной index. Поскольку нам нужно, чтобы она начиналась с числа 1
, инициализируем переменную значением 1
. Назовем индексную переменную i
.
Это можно сделать следующим образом,
package main
func main() {
// a simple for loop that prints number from 1 to 10
// NOTE: the below for loop is not complete and will result in error now
for i := 1; {
// cool code to execute on each loop iteration
}
}
Теперь, когда мы записали индексную переменную, давайте после объявления индексной переменной запишем условие цикла, где на каждой итерации цикла будет проверяться, истинно ли условие, и если оно истинно, то будет выполняться тело цикла.
В нашем случае нам нужно, чтобы цикл выполнялся от значения 1
до значения 10
. Поэтому условием нашего цикла становится проверка того, что индексная переменная i
меньше или равна значению 10
(i <= 10
).
Это можно сделать следующим образом,
package main
func main() {
// a simple for loop that prints number from 1 to 10
// NOTE: the below for loop is not complete and will result in error now
for i := 1; i <= 10; {
// cool code to execute on each loop iteration
}
}
Теперь после условия цикла нам нужно написать оператор инкремента или декремента, который увеличивает или уменьшает значение переменной index после каждой итерации цикла. Если у нас нет инкрементатора/декрементатора, то значение переменной index будет сохраняться на уровне 1
после каждой итерации цикла, и мы получим то, что называется бесконечным циклом.
В нашем случае нам нужно, чтобы индексная переменная продолжала увеличиваться на значение 1
после каждой итерации цикла. Для этого мы можем добавить 1
к текущему значению переменной index (i = i + 1
, здесь мы переназначаем значение переменной index, добавляя 1 к текущему значению).
Это можно сделать следующим образом,
package main
func main() {
// a simple for loop that prints number from 1 to 10
for i := 1; i <= 10; i = i + 1 {
// cool code to execute on each loop iteration
}
}
Для заключительной части нам нужно показывать текущее значение переменной index на каждой итерации, для этого мы можем использовать метод Println()
из модуля fmt
для печати значения переменной index на консоль или терминал.
Это можно сделать следующим образом,
package main
import "fmt"
func main() {
// a simple for loop that prints number from 1 to 10
for i := 1; i <= 10; i = i + 1 {
// cool code to execute on each loop iteration
fmt.Println(i)
}
}
Теперь, если вы выполните приведенный выше код, вы увидите вывод, подобный этому,
1
2
3
4
5
6
7
8
9
10
Мы успешно написали цикл for
в Golang/Go. Ура 🥳!
Посмотрите приведенный выше код в реальном времени в The Go Playground.
На этом все 😃!
Не стесняйтесь поделиться, если вы нашли это полезным 😃.