Šiame straipsnyje jūs išmoksite naudoti pertraukos teiginį, kad perkeltumėte programos valdymą.
Kai dirbate su kilpomis arba sąlyginiais teiginiais, gali tekti praleisti kai kuriuos sakinius ciklo viduje arba nedelsiant nutraukti kilpą, netikrindami testo išraiškos
Tokiais atvejais yra naudojami pertraukimo ir tęsimo teiginiai. Apie tolesnį teiginį sužinosite kitame skyriuje.
Nutraukimo sakinys sustabdo ciklo arba jungiklio teiginio vykdymą. Tada jis pereina prie kito sakinio po ciklo arba jungiklio sakinio.
Pertraukos sakinio sintaksė yra tokia:
pertrauka
Kaip veikia lūžio pareiškimas?
1 pavyzdys: Greitas lūžio sakinys už kilpą
for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("The end")
Kai paleisite programą, išvestis bus:
i = 1 i = 2 i = 3 pabaiga
Pirmiau pateiktoje programoje iteruojama seka yra nuo 1 iki 5.
I reikšmė nustatoma į pirmąjį diapazono skaičių (1) ir atnaujinama iki kito diapazono skaičiaus kiekvienoje iteracijoje.
Cikle taip pat yra if sakinys su išraiška i == 4
. Išraiška, įvertinus tiesą (4-oje iteracijoje), vykdo break
sakinį ir „for-in“ ciklas baigiasi.
Tada jis iššoka už kilpos, kad atspausdintų pabaigą .
2 pavyzdys: Greitas lūžio sakinys, o ciklas
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")
Kai paleisite programą, išvestis bus:
kitas lygis kitas lygis Žaidimas baigtas. Už ciklo ribų nelieka lygio
Pirmiau pateiktoje programoje „while“ ciklo bandomoji išraiška yra visada true
.
Kai „currentLevel“ yra didesnis nei „finalLevel“, break
sakinys, vykdomas „if“ bloke. Tada programa išeina iš „loop“ (nutraukia) ir vykdo sakinius po ciklo, ty print("outside of while loop")
…
3 pavyzdys: Greitas lūžio sakinys su įdėtomis kilpomis
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("j = (j)") )
Kai paleisite programą, išvestis bus:
i = 1 i = 2 i = 3 j = 1 i = 1 i = 2 i = 3 j = 2
Pirmiau pateiktoje programoje vienintelis break
teiginys if i == 4
nutraukia vidinės kilpos vykdymą for i in 1… 5
. Tačiau jis tęsia išorinės kilpos vykdymą for j in 1… 2
.
Bet ką daryti, jei norite ir break
išorinio kilimo for j in 1… 2
. Tam „Swift“ naudojame paženklintus teiginius.
Pažymėtas pareiškimas su pertrauka
Teiginiai, kurių formoje yra priešdėliai (etiketė: Pareiškimas), vadinami etiketėmis. Etiketė yra identifikatorius, kurį galite nurodyti vėliau pertraukų arba tęsti sakiniuose. Norėdami sužinoti daugiau apie pažymėtus teiginius, apsilankykite „Swift“ etiketėje.
Kaip veikia paženklintas teiginys su pertrauka?
Čia etiketė yra identifikatorius. Vykdant break
pareiškimą, jis nutraukia etiketės viduje esančias kilpas, o programa pereina prie teiginio iškart po pažymėtu teiginiu.
4 pavyzdys: Pažymėtas pareiškimas su pertrauka
outerloop: for j in 1… 2( innerloop: for i in 1… 5 ( if i == 4 ( break outerloop ) print("i = (i)") ) print("j = (j)") )
Kai paleisite programą, išvestis bus:
i = 1 i = 2 i = 3
Pirmiau pateiktoje programoje yra du pažymėti teiginiai outerloop: for j in 1… 2
ir innerloop: for i in 1… 5
.
Kartu su sakiniu galima naudoti etikečių pavadinimus išorinis ir vidinis break
.
Pareiškimas break outerloop
nutraukia abi kilpas ir baigia programą.
Jei esate susipažinę su kitomis programavimo kalbomis, tokiomis kaip C, C ++, Java ir kt., break
Sakinys naudojamas nutraukti jungiklio teiginį. Tačiau programoje „Wwift“ jungiklio sakinys baigiamas vykdyti, kai tik baigiamas pirmasis suderinamas jungiklio atvejis. Todėl prie „Swift“ jungiklio dėklo pridėti neprivaloma. Norėdami sužinoti daugiau, apsilankykite „Swift“ jungiklio pareiškime.