Петли
Циклы — это одна из итеративных конструкций, используемых во всех языках программирования для итеративного выполнения какой-либо задачи или рекурсии по структуре данных, такой как карта или массив.
Многие языки предоставляют набор циклов FOR, WHILE и DO WHILE, но GoLang предлагает другой подход к этим трем циклам.
Единственная конструкция цикла, доступная в Go, — это FOR. Давайте посмотрим, как мы можем реализовать различные сценарии зацикливания с помощью GO.
Классический цикл For
Ниже приведен пример того, как мы можем написать классический цикл for с инициализацией, условием и шагом приращения.
package main import "fmt" func main() { var i int //for initialization;condition; increment/decrement for i = 0; i < 10; i++ { fmt.Println("Inside the loop") } }
Для только с условием (While loop)
Конструкция типа цикла while может быть достигнута с использованием цикла for только с условием и выполнением шага инициализации перед циклом и шага увеличения/уменьшения внутри цикла.
package main import "fmt" func main() { var i int //initialization i = 0 //condition for i < 5 { fmt.Println(i) // initialization i++ } }
Бесконечный цикл
Мы можем создать бесконечный цикл, используя цикл for без каких-либо условий и используя оператор break для остановки цикла.
package main import "fmt" func main() { for { fmt.Println(i) i++ if i > 5 { break } } }
Итерация массива
Мы можем перебирать массив, используя функцию диапазона
package main import "fmt" func main() { // declare an array arr := []int{2, 3, 4, 5, 6, 7, 8, 9, 10, 11} i will have index and v will have values for i, v := range arr { fmt.Println(i) fmt.Println(v) } }
Итерация карты
Мы можем перебирать карту, используя ту же функцию диапазона
package main import "fmt" func main() { m := make(map[string]int) m["a"] = 1 for i, v := range m { fmt.Println(i) fmt.Println(v) } }
Далее я буду писать об условных конструкциях в Go.
Удачного обучения :D