Выход из цикла, пропуск шага цикла или break и continue в Swift

Если в ios-приложении (и не только) используются массивы большой размерности, то перебор элементов этих массивов может быть затратной с точки зрения ресурсов и производительности операцией. Однако не всегда нужно перебирать все элементы массива от начала до конца.

Для оптимизации работы приложения, внутри которого происходит перебор с помощью цикла, можно использовать следующие приемы:

1. Выход из цикла

Из цикла  вы может выйти в любое время с помощью оператора break:

Как только цикл найдет элемент item, который удовлетворяет условию поиска search, он изменит значение переменной found и увеличит значение счетчика count на 1. А после этого прекратит дальнейший перебор элементов массива array, использую оператор break. В итоге, если в массиве есть элемент, удовлетворяющий условиям поиска,  значение count будет равно 1, и более оно не изменится.  Вы нашли то, что вы искали и если  не имеет никакого смысла смотреть на другие объекты в этом массиве (которых могут быть сотни), вы используете break.

Существует также оператор continue, который работает отлично от break. Оператор не выходит из цикла, но сразу же переходит к следующей итерации (следующему шагу).

В этом примере цикл переберет все элементы, и после его выполнения переменная count  будет равна количеству элементов в массиве array, удовлетворяющих условию поиска search. Но переменная found никогда не примет значение true, и функция print() также не сработает. Как только исполнение программы дойдет до оператора continue, шаг цикла завершится, и начнется следующий шаг с новым элементом item.

Опубликовано в Iron ribbon, Фундаментальные основы Метки: ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*