Selles artiklis õpitakse programmi lause üleandmiseks kasutama katkestuslauset.
Kui töötate tsüklite või tingimuslausetega, peate võib-olla mõne tsükli sees oleva lause vahele jätma või tsükli kohe katkestama, kontrollimata testavaldist
Sellistel juhtudel kasutatakse katkemise ja jätkamise avaldusi. Jätkamise kohta saate teada järgmises peatükis.
Break-lause peatab tsükli või switch-lause täitmise. Seejärel hüpatakse järgmise lause juurde, mis järgneb tsükli või lüliti avaldusele.
Break-lause süntaks on:
murda
Kuidas vaheavaldus töötab?
Näide 1: Kiire katkestuse lause tsükli jaoks
for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("The end")
Programmi käivitamisel on väljund järgmine:
i = 1 i = 2 i = 3 Lõpp
Ülaltoodud programmis on itereeritav järjestus vahemikus 1 kuni 5.
I väärtuseks määratakse vahemiku (1) esimene number ja ajakohastatakse igal iteratsioonil vahemiku järgmise numbriga.
Tsükkel sisaldab ka lauset if i == 4
. Tõeseks hinnatud avaldis (4. iteratsiooni korral) täidab break
lause ja sisselülitamise silmus lõpeb.
Seejärel hüppab silmus väljapoole, et printida lõpp .
Näide 2: kiire katkestuse lause silmuses 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")
Programmi käivitamisel on väljund järgmine:
järgmine tase järgmine tase Mäng on lõpetatud. Väljaspool silmust ei jää taset
Ülaltoodud programmis on while-silmuse testväljend alati true
.
Kui currentLevel on suurem kui finalLevel, käivitatakse break
lause if-ploki sees. Seejärel murdub programm (lõpetab) while-tsükli ja täidab lause pärast tsüklit, st print("outside of while loop")
…
Näide 3: Kiire katkestuse lause sisestatud silmustega
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("j = (j)") )
Programmi käivitamisel on väljund järgmine:
i = 1 i = 2 i = 3 j = 1 i = 1 i = 2 i = 3 j = 2
Ülaltoodud programmis lõpetab ainsas sisalduv break
lause if i == 4
sisemise silmuse käivitamise for i in 1… 5
. Kuid see jätkab välise silmuse teostamist for j in 1… 2
.
Aga mis siis, kui soovite break
ka väliskülge for j in 1… 2
. Selleks kasutame Swiftis sildistatud avaldusi.
Sildiga väljavõte katkestusega
Avaldusi, millel on vormis eesliited (silt: Avaldus), kutsutakse sildistatud avaldusena. Silt on identifikaator, millele saate viidata hiljem lause- või jätkulausetes. Märgistatud väljavõtete kohta lisateabe saamiseks külastage Swifti sildiga avaldust.
Kuidas toimib katkestatud sildiga avaldus?
Siin on silt identifikaator. Kui break
avaldus käivitatakse, lõpetab see silmusis olevad silmused ja programm hüppab kohe sildistatud avaldusele järgneva lause juurde.
Näide 4: siltidega silt katkestusega
outerloop: for j in 1… 2( innerloop: for i in 1… 5 ( if i == 4 ( break outerloop ) print("i = (i)") ) print("j = (j)") )
Programmi käivitamisel on väljund järgmine:
i = 1 i = 2 i = 3
Ülaltoodud programmis on kaks sildistatud lauset outerloop: for j in 1… 2
ja innerloop: for i in 1… 5
.
Lausega saab kasutada sildi nimetusi externalloop ja innerloop break
.
Avaldus break outerloop
lõpetab mõlemad tsüklid ja lõpetab programmi.
Kui olete tuttav mõne muu programmeerimiskeelega, nagu C, C ++, Java jne, break
kasutatakse switchi lause lõpetamiseks lauset. Kuid Wwiftis lõpetab switchi lause täitmise kohe, kui esimene sobiva lüliti juhtum on lõpule jõudnud. Seetõttu on Swifti lülituskorpuse lisamine valikuline. Lisateabe saamiseks külastage Swift switchi avaldust.