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

Вложенные циклы

Циклы могут быть вложенными, то есть располагаться внутри других циклов. Например, выведем на консоль таблицу умножения:

package main
import "fmt"

func main() {

for i := 1; i < 10; i++{
for j := 1; j < 10; j++{
fmt.Print(i * j, "\t")
}
fmt.Println()
}
}

Перебор наборов данных

Ряд типов данных представляют набор данных. Например, строка может быть представлена как набор символов. Кроме того, в Go есть комплексные типы, которые представляют коллекции данных, в частности, массивы, срезы, словари. Для перебора наборов даннных в языке Go есть специальная форма цикла for:

for индекс, значение := range набор_данных{
// действия
}

После ключевого слова for указываются индекс и значение элемента набора, а после оператора range указывается перебираемый набор данных. Данный цикл перебирает все элементы набора данных и получает индекс этого элемента (номер элемента в наборе начиная с 0), и значение этого элемента.

Например, перебирем строку:

package main
import "fmt"

func main() {

str := "Hello"
for index, value := range str {
fmt.Println("Index:", index, " Value:", value)
}
}

В данном случае получаем индекс каждого символа строки str в переменную index, а каждый символ - в переменную value и выводим все это в консоль.