В тази статия ще се научите да използвате инструкция за прекъсване, за да прехвърлите контрола върху програмата.
Когато работите с цикли или условни изрази, може да се наложи да пропуснете някои изрази вътре в цикъла или да прекратите цикъла незабавно, без да проверявате тестовия израз
В такива случаи се използват оператори break и continue. Ще научите за продължаването на изявлението в следващата глава.
Операторът break спира изпълнението на цикъл или оператор за превключване. След това преминава към следващия оператор, следвайки оператора за цикъл или превключване.
Синтаксисът на оператора break е:
почивка
Как работи изявлението break?
Пример 1: Оператор за бързо прекъсване в цикъл for
for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("The end")
Когато стартирате програмата, изходът ще бъде:
i = 1 i = 2 i = 3 Краят
В горната програма последователността, която се итерира, е в диапазон от 1 до 5.
Стойността на i се задава на първото число в диапазона (1) и се актуализира до следващия номер на диапазона на всяка итерация.
Цикълът съдържа и оператор if с израз i == 4
. Изразът, когато се изчислява на true (на 4-та итерация) изпълнява break
израза и цикълът for-in се прекратява.
След това скача извън цикъла, за да отпечата края .
Пример 2: Оператор за бързо прекъсване в цикъл while
var currentLevel:Int = 1, finalLevel:Int = 2 var isLifeAvailable = true while (isLifeAvailable) ( if currentLevel> finalLevel ( print("Game Completed. No level remaining") break ) //play game and go to next level currentLevel += 1 print("next level") ) print("outside of while loop")
Когато стартирате програмата, изходът ще бъде:
следващо ниво следващо ниво Игра завършена. Няма останало ниво извън цикъл while
В горната програма тестовият израз на цикъл while е винаги true
.
Когато currentLevel е по-голям от finalLevel, break
изразът вътре в блока if се изпълнява. След това програмата излиза от (прекратява) цикъла while и изпълнява операторите след цикъла, т.е. print("outside of while loop")
…
Пример 3: Оператор за бързо прекъсване с вложени цикли
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("j = (j)") )
Когато стартирате програмата, изходът ще бъде:
i = 1 i = 2 i = 3 j = 1 i = 1 i = 2 i = 3 j = 2
В горната програма break
оператор вътре в if i == 4
единственото прекратява изпълнението на вътрешния цикъл for i in 1… 5
. Той обаче продължава изпълнението на външния цикъл for j in 1… 2
.
Но какво, ако искате и към break
външната верига for j in 1… 2
. За това използваме обозначени изявления в Swift.
Етикетирано изявление с прекъсване
Изявления, които имат префикси във формата (етикет: Изявление), се наричат като обозначени изявления. Етикетът е идентификатор, към който можете да се обърнете по-късно в инструкциите за прекъсване или продължаване. За да научите повече за етикетирани изявления, посетете Swift етикетирани изявления.
Как работи етикетираното изявление с почивка?
Тук етикетът е идентификатор. Когато break
операторът се изпълнява, той прекратява контурите вътре в етикета и програмата преминава към оператора непосредствено след етикетирания оператор.
Пример 4: Обозначено изявление с прекъсване
outerloop: for j in 1… 2( innerloop: for i in 1… 5 ( if i == 4 ( break outerloop ) print("i = (i)") ) print("j = (j)") )
Когато стартирате програмата, изходът ще бъде:
i = 1 i = 2 i = 3
В горната програма има две обозначени изявления outerloop: for j in 1… 2
и innerloop: for i in 1… 5
.
Имената на етикетите externalloop и innerloop могат да се използват с break
изявлението.
Операторът break outerloop
прекратява и цикъла, и завършва програмата.
Ако сте запознати с друг език за програмиране като C, C ++, Java и т.н., break
изразът се използва за прекратяване на оператор за превключване. Но в Wwift операторът switch завършва изпълнението си веднага щом завърши първият съвпадащ случай на превключване. Следователно не е задължително да добавяте прекъсване в корпуса на превключвателя в Swift. За да научите повече, посетете изявлението Swift switch.