У цій статті ви навчитеся використовувати оператор continue для передачі управління програмою.
Поки ви працюєте з циклами або умовними операторами, вам може знадобитися пропустити деякі оператори всередині циклу або негайно завершити цикл, не перевіряючи тестовий вираз.
У таких випадках використовуються оператори break і continue. Відвідайте сторінку, щоб дізнатись більше про виписку про порушення
Оператор continue зупиняє виконання операторів усередині циклу або оператора switch. Потім він переходить назад, щоб знову оцінити тестовий вираз циклу.
Синтаксис оператора continue:
продовжувати
Як працює оператор продовження?
Приклад 1: Оператор Swift continue у циклі for
for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") )
Коли ви запускаєте програму, результат буде:
i = 1 i = 2 i = 3 i = 5
У вищезазначеній програмі ітерація послідовності становить діапазон від 1 до 5.
Значення i встановлюється для першого числа в діапазоні (1) і оновлюється до наступного числа діапазону на кожній ітерації.
Цикл також містить оператор if з виразом i == 4
. Вираз, який оцінюється як істина (на 4-й ітерації), виконує continue
оператор, пропускає виконання оператора print("i = (i)")
і переходить до наступної ітерації (i = 5).
Приклад 2: Оператор Swift continue у циклі while
var intialLevel:Int = -5, finalLevel:Int = 2 var currentLevel:Int = intialLevel while currentLevel < finalLevel ( if intialLevel < 0 ( print("Starting level must be positive") intialLevel = 0 currentLevel = intialLevel continue //skips the current execution ) currentLevel += 1 print("next level") ) print("outside of while loop")
Коли ви запускаєте програму, результат буде:
Початковий рівень повинен бути додатним наступним рівнем наступного рівня поза циклом while
У наведеній вище програмі цикл while працює до тих пір, поки currentLevel не стане меншим за finalLevel. Оскільки intialLevel присвоюється значення -5 і менше 0, оператори всередині if
виконуються.
Коли програма досягає continue
оператора, вона пропускає оператори циклу while і переходить, щоб перевірити стан currentLevel < finalLevel
ще раз.
Приклад 3: Швидкий оператор продовження із вкладеними циклами
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) print("j = (j)") )
Коли ви запускаєте програму, результат буде:
i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5
У наведеній вище програмі continue
оператор усередині if i == 4
пропускає виконання оператора print("i = (i)")
всередині внутрішнього циклу for. Однак це не пропускає виконання зовнішнього циклу for i in 1… 5
.
Але що, якщо ви також хочете до continue
зовнішньої петлі. Для цього вам потрібно використовувати позначені оператори в Swift.
Позначена заявою з продовженням
Виписки, що мають префікси у формі (мітка: Statement), називаються міченими твердженнями. Мітка - це ідентифікатор, на який ви можете посилатись пізніше в операторах перерви або продовження. Щоб дізнатись більше про марковані висловлювання, відвідайте Swift із міченими висловлюваннями.
Як працює позначена заява з продовженням?
Тут мітка - це ідентифікатор. Коли continue
оператор виконується, програма пропускає решту коефіцієнта всередині циклу і переходить до оператора, де починається мітка.
Приклад 4: Позначена заява з продовженням
outerloop: for j in 1… 2 ( innerloop: for i in 1… 5 ( if i == 4 ( continue outerloop ) print("i = (i)") ) print("j = (j)") )
Коли ви запускаєте програму, результат буде:
i = 1 i = 2 i = 3 i = 1 i = 2 i = 3
У наведеній вище програмі є два позначені твердження outerloop: for j in 1… 2
та innerloop: for i in 1… 5
.
Назви міток externalloop і innerloop можуть використовуватися разом із continue
твердженням.
У програмі ми використовували оператор, continue outerloop
щоб пропустити виконання операторів як у внутрішній, так і у зовнішній петлях. У процесі значення як i, так і j оновлюються до наступного числа в діапазоні.