Цикл и условие в Go
Давайте теперь будем применять условия в циклах.
Посмотрим на примере. Пусть у нас есть числа
от 1 до 5. Выведем их:
for i := 1; i <= 5; i++ {
fmt.Println(i) // выведет 1, 2, 3, 4 и 5
}
А теперь наложим условие и будем выводить только числа, которые являются четными:
for i := 1; i <= 5; i++ {
if i%2 == 0 {
fmt.Println(i) // выведет 2 и 4
}
}
Внутри цикла можно выполнять команду только при
нужном ответе. Тело повтора крутится для каждого
значения счетчика, а ветка if внутри
решает, печатать ли число или пропустить шаг
вывода.
Так связывают перебор и проверку остатка, сравнение или любое другое условие из раздела про ветки. Снаружи цикл идет по всем кандидатам, внутри отбирают подходящие.
Пройдем счетчиком от 0 до 5 не
включая границу и выведем только четные:
for i := 0; i < 6; i++ {
if i%2 == 0 {
fmt.Println(i) // выведет 0, 2 и 4
}
}
Нечетные круги проверку не проходят, команда вывода для них не вызывается.
Даны переменные:
from := 1
to := 10
div := 3
Переберите числа от from до to
включительно и выведите только те, у которых
остаток от деления на div равен 0.
Даны переменные:
limit := 8
edge := 4
Переберите счетчик от 0, не включая
limit. Печатайте "small",
если число меньше edge, и "big"
иначе.
Дано число:
limit := 12
Переберите счетчик от 0, не включая
limit. Выводите "hit" только
когда число делится на 4 без остатка.
С помощью цикла for и оператора
if выведите нечетные числа
от 1 до 20.
С помощью цикла for и оператора
if выведите числа от 1
до 15, которые больше 3,
но меньше 10.
Даны числа от -10 до 10.
Числа могут быть положительными
и отрицательными. Найдите сумму
положительных чисел.
Выведите числа от 10 до 50,
которые начинаются на цифру 1,
2 или 5.