Swift Academy · Oppitunti

Silmukoiden ohjaus switch-kontekstissa

Erota break-rakenteen toiminta silmukoissa ja switch-rakenteissa.

Oppitunti 4/413 vaihetta

Silmukoiden ohjaus switch-kontekstissa on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.

break switchissä

switch-rakenteen sisällä break päättää switch-haaran. Swiftin haarat eivät siirry automaattisesti seuraavaan haaraan, joten break on yleensä valinnainen, mutta sallittu.

let n = 2
switch n {
case 1:
    print("one")
case 2:
    print("two")
    break
default:
    print("other")
}

Tyhjä case-haara breakillä

Käyttäkää break-lausetta, kun haluatte ilmaista, ettei case-haarassa tehdä mitään. Tämä on selkeämpää kuin tyhjä runko.

let code = 0
switch code {
case 0:
    break // intentionally ignore
default:
    print("handled", code)
}
print("after switch")

break silmukan sisäisessä switchissä

Kun switch on silmukan sisällä, tavallinen break poistuu switch-rakenteesta, ei silmukasta.

for n in 1...4 {
    switch n {
    case 3:
        break // exits switch only
    default:
        print(n)
    }
}
print("loop finished")

Silmukasta poistuminen switchistä

Jos haluatte poistua ympäröivästä silmukasta switch-rakenteen sisältä, nimetkää silmukka labelilla ja käyttäkää break label-lausetta.

loop: for n in 1...5 {
    switch n {
    case 3:
        break loop
    default:
        print(n)
    }
}
print("done")

continue switchistä

Switch-rakenteen sisällä tavallinen continue viittaa ympäröivään silmukkaan ja siirtyy sen seuraavaan iteraatioon.

for n in 1...5 {
    switch n {
    case let x where x % 2 == 0:
        continue
    default:
        print(n)
    }
}

Miksi erolla on merkitystä

Switch-breakin ja loop-breakin sekoittaminen on yleinen virhe. Muistakaa: paljas break switch-rakenteessa poistuu vain switch-rakenteesta.

for n in 1...3 {
    switch n {
    case 2:
        break
    default:
        print("value", n)
    }
}
print("all values processed")

fallthrough

Jos todella haluatte haaran jatkavan seuraavaan haaraan, käyttäkää eksplisiittistä fallthrough-avainsanaa.

let n = 1
switch n {
case 1:
    print("one")
    fallthrough
case 2:
    print("two")
default:
    print("done")
}

Labelilla käytetty break selkeyden vuoksi

Vaikka se ei olisi ehdottomasti tarpeen, labelilla käytetty break ilmaisee, että tarkoitatte silmukasta poistumista.

scan: for value in [10, 20, 30, 40] {
    switch value {
    case 30:
        break scan
    default:
        print(value)
    }
}

where-lausekkeiden yhdistäminen

Pattern where-lausekkeiden ja continue-lauseen avulla voitte suodattaa tapauksia tyylikkäästi switch-rakenteen sisällä.

for n in 1...6 {
    switch n {
    case let x where x > 4:
        continue
    default:
        print(n)
    }
}

Sisäkkäinen switch ja silmukka

Sisäkkäisten silmukoiden ja switch-rakenteen yhteydessä labelit tekevät kohteesta yksiselitteisen.

outer: for i in 1...3 {
    for j in 1...3 {
        switch j {
        case 2:
            break outer
        default:
            print(i, j)
        }
    }
}

Paras käytäntö

Käyttäkää paljasta break-lausetta vain switch-haarasta poistumiseen. Nimetkää silmukka aina labelilla, kun tarkoituksena on poistua silmukasta switch-rakenteen sisältä.

main: for n in 1...5 {
    switch n {
    case 4:
        break main
    default:
        print(n)
    }
}

Pikatarkistus

Testatkaa switch- ja loop-breakien eroa.

Kertaus

switch-rakenteessa paljas break poistuu vain switch-haarasta. Swiftissä ei ole implisiittistä haaran läpi siirtymistä; käyttäkää siihen fallthrough-lausetta. Jos haluatte poistua switch-rakenteen ympäröivästä silmukasta, nimetkää silmukka labelilla ja käyttäkää break label-lausetta. Paljas continue viittaa edelleen silmukkaan.

loop: for n in 1...4 {
    switch n {
    case 3: break loop
    default: print(n)
    }
}
Aloita maksutta

Opi Swift tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
122
Oppitunnit
409

Usein kysytyt kysymykset

Onko oppitunti ”Silmukoiden ohjaus switch-kontekstissa” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Silmukoiden ohjaus switch-kontekstissa”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Silmukoiden ohjaus switch-kontekstissa”?

Erota break-rakenteen toiminta silmukoissa ja switch-rakenteissa. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Silmukoiden ohjaus switch-kontekstissa”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?

Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. break- ja continue-rakenteiden perusteet
  2. Nimetyt lausekkeet
  3. Sisäkkäisistä silmukoista poistuminen
  4. Silmukoiden ohjaus switch-kontekstissa
← Takaisin: Swift Academy