Цикл for — это оператор потока управления, используемый для многократного выполнения блока кода. В Go цикл for является единственной конструкцией цикла.
Вы можете использовать цикл for для повторения блоков кода и имитации полного набора циклов из других языков, включая циклы for...each, while и do...while.
Установить Перейти к началу
Убедитесь, что у вас есть Установить следовать вместе. Для большинства этих примеров требуется ФМТ package, и вы должны использовать такую общую структуру:
упаковка главный
импорт "ФМТ"
функцияглавный() {
// код идет сюда
}
Трехкомпонентный цикл for в Go
Это, пожалуй, самый распространенный цикл for. Как следует из названия, он принимает три компонента: начальное значение, условие и пост-оператор. Вот синтаксис:
для инициализации; условие; почта {
заявления)
}
В этом цикле после инициализации оценивается условие. Если true, выполняются операторы в блоке цикла for, за которыми следует оператор post. Программа повторяет этот процесс до тех пор, пока условие не перестанет быть истинным. Ниже приведен пример.
для я := 1; я <= 5; я++ {
ФМТ.Println(я)
}
Здесь:
- наборы инициализации я к 1
- условие я <= 5
- почтовая выписка я++
Этот цикл for печатает текущее значение я если он меньше или равен 5. «Постоператор» добавляет 1 к я после каждого цикла и один раз я достигает 5, цикл завершается. Без «постоператора» цикл будет выполняться бесконечное количество раз и потенциально может привести к сбою программы.
Цикл For-Each в Go
В Go нет цикла for-each, но вы можете модифицировать цикл for для обхода набора элементов. Вот синтаксис:
для индекса, значение: = набор диапазонов {
// тело
}
Коллекция может быть массивом, срезом, строкой или картой или значениями, полученными по каналу. Индекс — это позиция в коллекции. Значением является элемент по индексу.
Если вас интересует только значение, опустите индекс следующим образом:
для _, значение: = срез диапазона {}
В приведенном ниже примере цикл проходит по массиву и печатает как индекс, так и значение каждого элемента в нем.
массив: = [] строка {"привет", "Мир"}
за я, j := диапазон множество {
ФМТ.Println(я, Дж)
}
Цикл while в Go
Вы можете использовать цикл for для достижения пока функциональность цикла. В цикле while оператор выполняется до тех пор, пока условие остается истинным. Рассмотрим следующее:
я: = 1
для меня <= 5 {
я *= 2
}
ФМТ.Println(я)
В этом коде, пока я меньше или равно 5, оно умножается на 2 при каждом выполнении цикла.
Цикл Do…While в Go
Цикл do...while отличается от цикла while тем, что тело цикла выполняется хотя бы один раз. Есть два подхода к реализации этого в Go.
- Убедитесь, что условие для первой итерации установлено в true.
Поскольку начальное условие установлено как истинное, я печатается, а затем увеличивается на первой итерации. Поскольку условие (я <= 5) оценивается как false во время второй итерации, цикл завершается.я := 10
за следующий := истинный; следующий; следующий = я <= 5 {
ФМТ.Println(я)
я++
}// Будет напечатано 10
- Выполните тело цикла один раз перед проверкой условия.
В приведенном выше цикле for сначала печатается 10, то есть значение i, а затем выполняется оператор if. Если условие истинно, цикл прерывается, в противном случае цикл продолжается.я := 10
за {
ФМТ.Println(я)
я++Если я >= 5 {
ломать;
}
}// Будет напечатано 10
Другие операторы потока управления
Циклы в программировании важны, потому что они упрощают выполнение повторяющихся задач и экономят время. Вместо того, чтобы писать строку кода десять раз, вы можете просто создать цикл, который будет выполняться десять раз. Другими операторами потока управления являются операторы if, if...else, if...else if...if и операторы switch.
Что нового в Go версии 1.18
Читать далее
Похожие темы
- Программирование
- Программирование
Об авторе

Мэри Гатони — разработчик программного обеспечения, страстно любящий создавать технический контент, который не только информативен, но и привлекателен. Когда она не программирует и не пишет, ей нравится проводить время с друзьями и гулять на свежем воздухе.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться