Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmLpCn 127 of 350 menu
◀ ▶

Цикл с условием в Go

Сейчас мы изучим повтор, который выполняется, пока проверка истинна. Отдельного слова для такого повтора нет: его записывают через for. После ключевого слова сразу идет условие, без круглых скобок, затем тело в фигурных скобках. Перед каждым кругом проверяется это условие.

Цикл закончится, когда выражение перестанет быть истинным. Если оно было ложным изначально, тело не выполнится ни разу.

Давайте последовательно выведем числа от одного до пяти:

i := 1 for i <= 5 { fmt.Println(i) i++ }

А теперь сделаем обратный отсчет:

i := 10 for i > 0 { fmt.Println(i) i-- }

А теперь будем делить заданное число на 2 столько раз, пока результат не станет меньше 10. Деление целых отбрасывает дробную часть:

num := 500 for num > 10 { num = num / 2 } fmt.Println(num) // выведет 7

Цикл может повторяться, пока истинна одна проверка, без отдельного счетчика в шапке.

Счетчик при этом живет внутри тела: его объявляют до цикла или меняют на каждом круге. Такой прием удобен, когда число шагов заранее неизвестно, но известно, когда остановиться.

Повторим три круга, пока переменная меньше 3, и увеличим ее внутри:

n := 0 for n < 3 { fmt.Println(n) n++ }

Проверка смотрит на n перед каждым входом в тело. После печати 2 шаг делает n равным 3, следующая проверка ложна, цикл завершается.

Даны переменные:

k := 0 limit := 4

Пока k меньше limit, выводите k и увеличивайте его на единицу в конце круга.

Даны переменные:

val := 1 cap := 5

Крутите повтор, пока val не станет больше cap, и на каждом круге удваивайте val. Выведите val после цикла.

Сравните две записи: цикл со счетчиком от 0 до 2 и повтор с проверкой переменной, которую увеличивают внутри. Скажите, когда удобнее второй вариант.

Выведите числа от 1 до 100.

Выведите числа от 11 до 33.

Выведите числа от 100 до 1.

Дано число num со значением 2. Умножайте его на 3 столько раз, пока результат не станет больше 1000. Какое число получится? Посчитайте количество итераций, необходимых для этого.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить