Break
Часть раздела Основы путешествия по Swift на Coddy — урок 45 из 86.
Иногда вам нужно выйти из цикла раньше, до того как он завершит все свои итерации. Инструкция break немедленно останавливает цикл и переходит к коду, следующему за ним.
for number in 1...10 {
if number == 5 {
break
}
print(number)
}
// Вывод: 1, 2, 3, 4Когда number достигает 5, выполняется инструкция break, и цикл полностью останавливается. Обратите внимание, что само число 5 никогда не выводится, так как break завершает выполнение цикла до того, как будет достигнута инструкция print.
Инструкция break работает со всеми типами циклов. Вот пример с циклом while, который ищет определенное значение:
var count = 0
while true {
count += 1
if count == 3 {
break
}
}
print(count) // Вывод: 3Этот паттерн полезен, когда вы ищете что-то и хотите остановиться, как только найдете это, вместо того чтобы продолжать выполнение ненужных итераций.
Задание
ЛегкоНапишите функцию findFirstMultiple, которая принимает limit и divisor и возвращает первое число (начиная с 1), которое делится на делитель.
Используйте цикл для перебора чисел, начиная с 1 и до предела. Когда вы найдете число, делящееся на делитель, используйте break, чтобы немедленно выйти из цикла и вернуть это число.
Логика:
- Переберите числа от 1 до
limit - Проверьте, делится ли текущее число на
divisor(остаток равен 0) - Если число найдено, прервите цикл и верните это число
- Если кратное число не найдено в пределах лимита, верните
-1
Параметры:
limit(Int): Верхняя граница для поиска (включительно)divisor(Int): Число, на которое проверяется делимость
Возвращает: Первое число, делящееся на делитель, или -1, если таковых не найдено (Int)
Например, если limit равен 10, а divisor равен 3, функция вернет 3 (первое число, делящееся на 3).
Шпаргалка
Оператор break немедленно останавливает цикл и продолжает выполнение кода после него:
for number in 1...10 {
if number == 5 {
break
}
print(number)
}
// Вывод: 1, 2, 3, 4Когда выполняется break, цикл полностью останавливается. Значение, которое вызвало прерывание, не обрабатывается последующими инструкциями в цикле.
Оператор break работает со всеми типами циклов, включая циклы while:
var count = 0
while true {
count += 1
if count == 3 {
break
}
}
print(count) // Вывод: 3Этот паттерн полезен для поиска и остановки, как только условие выполнено, что позволяет избежать ненужных итераций.
Попробуйте сами
func findFirstMultiple(limit: Int, divisor: Int) -> Int {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: Простая математикаОператоры сравнения7Основы ввода-вывода
Функция PrintИнтерполяция строкВвод через ReadLineПреобразование типовПовторение — до 120Повторение — True или False10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияМетки аргументовПовторение: функция SigmaПовторение: функция валидацииЗначения по умолчанию13Итерирование по последовательностям
Итерирование по элементамМетод enumerateИтерирование по строкам, ч. 1Итерирование по строкам, ч. 22Переменные
Let против VarАннотации типовЧислаСтрокиBooleanСоглашения об именованииИтоги — Инициализация переменных5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 3Тернарный оператор8Калькулятор разделения счета
Приветственное сообщениеПолучение ввода14Массивы: Продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опционалы
Что такое опционалыРазвертывание с помощью if letGuard letОператор объединения с nilИтоги — безопасное развертывание6Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторОператор SwitchSwitch с диапазонами9Циклы
Цикл For-InЦикл WhileЦикл Repeat-WhileBreakContinueПовторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический ввод