У овом чланку ћете научити да користите изјаву цонтинуе за пренос контроле над програмом.
Док радите са петљама или условним изразима, можда ћете морати прескочити неке изразе унутар петље или одмах прекинути петљу без провере израза теста.
У таквим случајевима користе се наредбе бреак и цонтинуе. Посетите страницу да бисте сазнали више о изјави о прекиду.
Наредба цонтинуе зауставља извршавање наредби унутар петље или наредбе свитцх. Затим прескаче назад да би поново проценио тестни израз петље.
Синтакса наредбе цонтинуе је:
Настави
Како функционише наставак изјаве?
Пример 1: Наредба Свифт цонтинуе у петљи фор
for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") )
Када покренете програм, излаз ће бити:
и = 1 и = 2 и = 3 и = 5
У горе наведеном програму, низ који се понавља је у опсегу од 1 до 5.
Вредност и се поставља на први број у опсегу (1) и ажурира на следећи број опсега на свакој итерацији.
Петља такође садржи израз иф са изразом i == 4
. Израз када се процени на тачно (на 4. итерацији) извршава continue
израз, прескаче извршавање израза print("i = (i)")
и прелази на следећу итерацију (и = 5).
Пример 2: Свифт цонтинуе статемент у вхиле петљи
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")
Када покренете програм, излаз ће бити:
Почетни ниво мора бити позитиван следећи ниво следећи ниво изван вхиле петље
У горе наведеном програму, вхиле петља ради док цуррентЛевел не буде мањи од финалЛевел. Пошто је интиалЛевел додељена вредност -5 и мања је од 0, изрази унутар извршења if
.
Када програм дође до continue
израза, прескаче изразе вхиле петље и скаче да currentLevel < finalLevel
поново провери стање .
Пример 3: Наредба Свифт цонтинуе са угнежђеним петљама
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) print("j = (j)") )
Када покренете програм, излаз ће бити:
и = 1 и = 2 и = 3 и = 5 ј = 1 и = 1 и = 2 и = 3 и = 5
У горњем програму, continue
наредба унутар if i == 4
јединог прескаче извршење наредбе print("i = (i)")
унутар унутрашње фор петље. Међутим, не прескаче извршење спољне петље for i in 1… 5
.
Али, шта ако желите continue
и спољну петљу. За то треба да користите означене изјаве у Свифту.
Означена изјава са даље
Изјаве које имају префиксе у облику (ознака: Изјава) називају се означеним исказима. Ознака је идентификатор на који се можете позвати касније у прекиду или у наставку израза. Да бисте сазнали више о означеним изјавама, посетите Свифт означене изјаве.
Како функционише означена изјава са цонтинуе?
Овде је ознака идентификатор. Када се 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)") )
Када покренете програм, излаз ће бити:
и = 1 и = 2 и = 3 и = 1 и = 2 и = 3
У горњем програму постоје две означене изјаве outerloop: for j in 1… 2
и innerloop: for i in 1… 5
.
Имена ознака ектерналлооп и иннерлооп могу се користити уз continue
изјаву.
У програму смо користили наредбу continue outerloop
да прескочимо извршавање наредби и у унутрашњој и у спољној петљи. У процесу се вредности и и ј ажурирају на следећи број у опсегу.