În acest articol, veți învăța să utilizați declarația continue pentru a transfera controlul programului.
În timp ce lucrați cu bucle sau instrucțiuni condiționale, poate fi necesar să ignorați câteva instrucțiuni în buclă sau să terminați bucla imediat fără a verifica expresia de testare.
În astfel de cazuri, sunt utilizate declarațiile de rupere și continuare. Accesați pagina pentru a afla mai multe despre declarația de pauză.
Instrucțiunea continue oprește executarea instrucțiunilor într-o buclă sau o instrucțiune switch. Apoi trece înapoi pentru a evalua din nou expresia testului buclei.
Sintaxa unei instrucțiuni continue este:
continua
Cum funcționează declarația?
Exemplul 1: Instrucțiunea Swift continue în buclă for
for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") )
Când rulați programul, ieșirea va fi:
i = 1 i = 2 i = 3 i = 5
În programul de mai sus, secvența care este iterată este cuprinsă între 1 și 5.
Valoarea lui i este setată la primul număr din interval (1) și actualizată la următorul număr al intervalului de pe fiecare iterație.
Bucla conține, de asemenea, o instrucțiune if cu expresie i == 4
. Expresia atunci când este evaluată la adevărat (la a 4-a iterație) execută continue
instrucțiunea, omite executarea instrucțiunii print("i = (i)")
și trece la următoarea iterație (i = 5).
Exemplul 2: Instrucțiunea Swift continue în bucla 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")
Când rulați programul, ieșirea va fi:
Nivelul inițial trebuie să fie pozitiv nivelul următor nivelul următor în afara buclei while
În programul de mai sus, bucla while rulează până când currentLevel este mai mic decât finalLevel. Deoarece, intialLevel i se atribuie valoarea -5 și este mai mică de 0, instrucțiunile din interiorul if
executărilor.
Când programul ajunge la continue
instrucțiune, omite instrucțiunile buclei while și sare pentru a verifica din currentLevel < finalLevel
nou starea .
Exemplul 3: declarație Swift continue cu bucle imbricate
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) print("j = (j)") )
Când rulați programul, ieșirea va fi:
i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5
În programul de mai sus, continue
instrucțiunea din interior if i == 4
omite executarea instrucțiunii print("i = (i)")
în interiorul buclei interioare. Cu toate acestea, nu omite executarea buclei exterioare for i in 1… 5
.
Dar ce se întâmplă dacă vrei și continue
la exterior. Pentru aceasta, trebuie să utilizați declarații etichetate în Swift.
Declarație etichetată cu continuare
Declarațiile care au prefixe în formă (etichetă: Declarație) sunt denumite declarație etichetată. Eticheta este un identificator pe care îl puteți consulta mai târziu în declarațiile de pauză sau continuare. Pentru a afla mai multe despre declarațiile etichetate, accesați declarația etichetată Swift.
Cum funcționează declarația etichetată cu continuare?
Aici, eticheta este un identificator. Când continue
instrucțiunea se execută, programul omite restul coe-ului în buclă și sare la instrucțiunea de unde începe eticheta.
Exemplul 4: Declarație etichetată cu continuare
outerloop: for j in 1… 2 ( innerloop: for i in 1… 5 ( if i == 4 ( continue outerloop ) print("i = (i)") ) print("j = (j)") )
Când rulați programul, ieșirea va fi:
i = 1 i = 2 i = 3 i = 1 i = 2 i = 3
În programul de mai sus, există două declarații etichetate outerloop: for j in 1… 2
și innerloop: for i in 1… 5
.
Numele etichetelor outerloop și innerloop pot fi utilizate împreună cu continue
declarația.
În program, am folosit declarația continue outerloop
pentru a omite execuția declarațiilor atât în buclele interioare, cât și exterioare. În acest proces, valorile i și j sunt actualizate la următorul număr din interval.