Вложенные циклы
Циклы могут быть вложенными, то есть располагаться внутри других циклов. Например, выведем на консоль таблицу умножения:
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 и выводим все это в консоль.