Tässä artikkelissa opit käyttämään jatko-lauseita ohjelman hallinnan siirtämiseen.
Kun työskentelet silmukoiden tai ehdollisten lauseiden kanssa, saatat joutua ohittamaan joitain lauseita silmukan sisällä tai lopettamaan silmukan välittömästi tarkistamatta testilauseketta.
Tällaisissa tapauksissa käytetään keskeytys- ja jatko-lauseita. Vieraile sivulla saadaksesi lisätietoja taukoilmoituksesta.
Jatka-lause lopettaa lauseiden suorittamisen silmukassa tai kytkinlausekkeessa. Sitten se hyppää takaisin arvioimaan silmukan testilauseketta uudelleen.
Jatka-lauseen syntaksin muoto on:
jatkaa
Kuinka jatkoilmoitus toimii?
Esimerkki 1: Nopea jatko-lause lausetta varten
for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") )
Kun suoritat ohjelmaa, tulos on:
i = 1 i = 2 i = 3 i = 5
Yllä olevassa ohjelmassa iteroitava sekvenssi on alue 1-5.
I: n arvo asetetaan alueen ensimmäiseksi numeroksi (1) ja päivitetään kunkin iteraation alueen seuraavaan numeroon.
Silmukka sisältää myös lausekkeen if i == 4
. Lauseke, kun se arvioidaan tosi (4. iteraatiossa), suorittaa continue
lauseen, ohittaa lauseen suorituksen print("i = (i)")
ja siirtyy seuraavaan iteraatioon (i = 5).
Esimerkki 2: Nopea jatka lausetta while-silmukassa
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")
Kun suoritat ohjelmaa, tulos on:
Lähtötason on oltava positiivinen seuraavan tason seuraava taso silmukan ulkopuolella
Edellä olevassa ohjelmassa while-silmukka kulkee, kunnes currentLevel on pienempi kuin finalLevel. Koska intialLevel-arvolle on annettu arvo -5 ja se on alle 0, lauseet if
suoritetaan.
Kun ohjelma saavuttaa continue
lauseen, se ohittaa while-silmukan lauseet ja hyppää tarkistamaan kunnon currentLevel < finalLevel
uudelleen.
Esimerkki 3: Nopea jatko-käsky sisäkkäisillä silmukoilla
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) print("j = (j)") )
Kun suoritat ohjelmaa, tulos on:
i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5
Yllä olevassa ohjelmassa ainoa continue
lause if i == 4
ohittaa lauseen print("i = (i)")
sisäisen silmukan sisäisen lauseen suorittamisen . Se ei kuitenkaan ohita ulomman silmukan suorittamista for i in 1… 5
.
Mutta entä jos haluat continue
myös ulomman verhon. Tätä varten sinun on käytettävä merkittyjä lauseita Swiftissä.
Merkitty lausunto jatkuu
Lausekkeet, joissa on etuliitteitä muodossa (label: Statement), kutsutaan tunnisteina. Tunniste on tunniste, johon voit viitata myöhemmin tauko- tai jatko-lauseissa. Lisätietoja merkityistä lauseista on Swift-merkittyissä lausunnoissa.
Kuinka jatketut lausunnot toimivat?
Tässä tarra on tunniste. Kun continue
käsky suoritetaan, ohjelma ohittaa loput koe silmukan sisällä ja hyppää lauseeseen, josta etiketti alkaa.
Esimerkki 4: Merkitty lausunto jatkoa
outerloop: for j in 1… 2 ( innerloop: for i in 1… 5 ( if i == 4 ( continue outerloop ) print("i = (i)") ) print("j = (j)") )
Kun suoritat ohjelmaa, tulos on:
i = 1 i = 2 i = 3 i = 1 i = 2 i = 3
Yllä olevassa ohjelmassa on kaksi merkittyä lausetta outerloop: for j in 1… 2
ja innerloop: for i in 1… 5
.
Etiketin nimiä ulompi ja sisempi voi käyttää continue
lausekkeen kanssa.
Ohjelmassa olemme käyttäneet lausetta continue outerloop
ohittaaksesi lauseiden suorittamisen sekä sisä- että ulkosilmukassa. Prosessissa sekä i: n että j: n arvot päivitetään seuraavaan numeroon alueella.