Tehokas switch pattern matching -vertailulla
Kirjoittakaa ilmaisuvoimaisia switch-rakenteita: vertailkaa assosioituja arvoja, alueita ja tupleja sekä lisätkää where-lausekkeita. Pitäkää haarat kattavina ja luettavina.
Tehokas switch pattern matching -vertailulla on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/3. 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ä 3 oppituntia.
Miksi hahmonsovitusta?
Swiftin switch sovittaa hahmoja: liitettyjä arvoja sisältäviä enumeraatioita, numeerisia alueita, monikoita ja where-ehtoja. Lisäksi sen on katettava kaikki tapaukset.
Liitetyt arvot
Sido liitetyt arvot käyttämällä let- tai var-määrettä suoraan case-hahmossa.
enum Network {
case success(code: Int, body: String)
case failure(message: String)
case offline
}
let r1: Network = .success(code: 200, body: "OK")
switch r1 {
case .success(let code, let body):
print("success", code, body)
case .failure(let msg):
print("fail:", msg)
case .offline:
print("offline")
}Alueiden sovitus
Sovita numeerisia alueita, kuten 90...100 tai 80..<90. Käytä pilkkua , useiden hahmojen sovittamiseen samassa casessa.
let score = 73
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 60..<80:
print("C")
case 0..<60:
print("D")
default:
print("invalid")
}Monikot ja where
Sovita monikoita ja tarkenna ehtoa where-ehdolla, jotta geometriaa muistuttavat tarkistukset ovat helposti luettavia.
let point = (x: -2, y: 3)
switch point {
case (0, 0):
print("origin")
case (let x, 0):
print("x-axis at", x)
case (0, let y):
print("y-axis at", y)
case (let x, let y) where x > 0 && y > 0:
print("Q1:", x, y)
default:
print("somewhere else")
}Jokerimerkit ja osittainen yhteensopivuus
Käyttäkää _-merkkiä ohittaaksenne kenttiä tai sitokaa vain tarvitsemanne arvot. Pitäkää haarat pieninä ja selkeinä.
enum Event {
case message(String, priority: Int)
case ping
}
let e: Event = .message("update", priority: 1)
switch e {
case .message(let text, priority: _):
print("msg:", text) // ignore priority with _
case .ping:
print("ping")
}Vinkkejä
Vinkkejä:
- Suosikaa ensin erityisiä tapauksia ja jättäkää default harvinaisia muita tapauksia varten.
- Sitokaa arvot käyttämällä case let -rakennetta ja tarkentakaa ehtoa where-lauseella.
- Suunnitelkaa enumit niin, että switch voi olla kattava ilman default-haaraa aina kun mahdollista.
Switchin teho
Pikatarkistus: Miksi Swiftin switch on ilmaisuvoimaisempi?
Kertaus
Kertaus: Käyttäkää switch-rakennetta kuvioiden täsmäyttämiseen: sitokaa enumien sisältämät arvot, kohdistakaa alueisiin, yhdistäkää monikot ja suodattakaa where-lauseella pysyen samalla kattavina.
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 ”Tehokas switch pattern matching -vertailulla” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Tehokas switch pattern matching -vertailulla”. 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ä 3 oppituntia.
Mitä opin oppitunnilla ”Tehokas switch pattern matching -vertailulla”?
Kirjoittakaa ilmaisuvoimaisia switch-rakenteita: vertailkaa assosioituja arvoja, alueita ja tupleja sekä lisätkää where-lausekkeita. Pitäkää haarat kattavina ja luettavina. 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 2/3.
Kuinka kauan ”Tehokas switch pattern matching -vertailulla”-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
- Enumeraatiot tehokäytössä
- Tehokas switch pattern matching -vertailulla
- Äärellisten tilojen mallintaminen