В тази статия ще се научите да използвате инструкция continue, за да прехвърлите контрола върху програмата.
Докато работите с цикли или условни изрази, може да се наложи да пропуснете някои изрази вътре в цикъла или да прекратите цикъла незабавно, без да проверявате тестовия израз.
В такива случаи се използват оператори break и continue. Посетете страницата, за да научите повече за прекъсването.
Операторът continue спира изпълнението на оператори в цикъл или оператор за превключване. След това прескача обратно, за да оцени отново тестовия израз на цикъла.
Синтаксисът на инструкцията 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
. Изразът, когато се изчислява на true (на 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: Оператор Swift continue с вложени цикли
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.
Етикетирано изявление с продължение
Изявления, които имат префикси във формата (етикет: Изявление), се наричат като обозначени изявления. Етикетът е идентификатор, към който можете да се обърнете по-късно в инструкциите за прекъсване или продължаване. За да научите повече за етикетирани изявления, посетете 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 се актуализират до следващото число в диапазона.