În acest articol, veți învăța să utilizați instrucțiunea break pentru a transfera controlul programului.
Când 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. Veți afla despre declarația de continuare în capitolul următor.
Instrucțiunea break oprește executarea unei instrucțiuni buclă sau switch. Apoi sare la următoarea instrucțiune după instrucțiunea buclă sau comutare.
Sintaxa unei instrucțiuni break este:
pauză
Cum funcționează declarația de rupere?
Exemplul 1: Instrucțiunea de pauză rapidă în bucla for
for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("The end")
Când rulați programul, ieșirea va fi:
i = 1 i = 2 i = 3 Sfârșitul
Î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ă break
instrucțiunea și bucla for-in se termină.
Apoi sare în afara buclei pentru a imprima sfârșitul .
Exemplul 2: Instrucțiune de pauză rapidă în bucla 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")
Când rulați programul, ieșirea va fi:
next level next level Joc finalizat. Nu rămâne niciun nivel în afara buclei while
În programul de mai sus, expresia de test a buclei while este întotdeauna true
.
Când currentLevel este mai mare decât finalLevel, break
instrucțiunea din interiorul blocului if este executată. Programul apoi iese din (termină) bucla while și execută instrucțiunile după buclă, adică print("outside of while loop")
…
Exemplul 3: Instrucțiune de pauză rapidă cu bucle imbricate
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("j = (j)") )
Când rulați programul, ieșirea va fi:
i = 1 i = 2 i = 3 j = 1 i = 1 i = 2 i = 3 j = 2
În programul de mai sus, break
instrucțiunea din interiorul if i == 4
singurului pune capăt execuției buclei interioare for i in 1… 5
. Cu toate acestea, continuă execuția buclei exterioare for j in 1… 2
.
Dar ce se întâmplă dacă vrei și break
la exterior for j in 1… 2
. Pentru aceasta, folosim declarații etichetate în Swift.
Declarație etichetată cu pauză
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 pauză?
Aici, eticheta este un identificator. Când break
instrucțiunea se execută, termină buclele din interiorul etichetei, iar programul sare la instrucțiunea imediat după declarația etichetată.
Exemplul 4: Declarație etichetată cu pauză
outerloop: for j in 1… 2( innerloop: for i in 1… 5 ( if i == 4 ( break outerloop ) print("i = (i)") ) print("j = (j)") )
Când rulați programul, ieșirea va fi:
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 break
declarația.
Instrucțiunea break outerloop
pune capăt ambelor bucle și termină programul.
Dacă sunteți familiarizat cu alte limbaje de programare, cum ar fi C, C ++, Java, etc., break
instrucțiunea este utilizată pentru a termina instrucțiunea switch. Dar în Wwift, instrucțiunea switch își termină execuția imediat ce se finalizează primul caz de comutare corespunzător. Prin urmare, este opțional să adăugați pauză la comutatorul din Swift. Pentru a afla mai multe, accesați declarația Swift switch.