switch-patternit ja vartijat
Sovita rakenteita ja lisää when-ehtoja
switch-patternit ja vartijat on ilmainen Dart Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Dart Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Dart Academy-kurssilla on yhteensä 4 oppituntia.
switch kohtaa kuviot
Moderni Dart antaa switch-rakenteen täsmäyttää kuvioita, ei vain vakioita. Jokainen tapaus voi tarkistaa arvon rakenteen ja purkaa sen samalla kertaa. 🔀
Record-rakenteen täsmäyttäminen
Tapaus voi olla record-kuvio. Jos arvo vastaa tätä rakennetta, tapaus suoritetaan ja sen kentät sidotaan muuttujiin.
switch (point) {
case (0, 0): print('origin');
}Muuttujien sitominen täsmäytyksen aikana
Kuviot voivat kaapata arvoja täsmäytyksen yhteydessä. Nimeä paikat, niin kentät ovat valmiina käytettäviksi tapauksen rungossa.
switch (p) {
case (var x, var y): print(x + y);
}Wildcard-tapaus
Alaviivalla merkitty tapaus vastaa mitä tahansa. Se toimii oletustapauksen tavoin ja käsittelee arvot, joita aiemmat tapaukset eivät käsitelleet.
switch (n) {
case 1: print('one');
case _: print('other');
}Mikä on guard?
Guard lisää tapaukseen ehdon when-avainsanalla. Tapaus suoritetaan vain, jos kuvio täsmää ja testi on tosi.
case (var x, var y) when x == y:
print('diagonal');Guard tarkentaa täsmäytystä
Käytä guardia, kun rakenne yksin ei riitä. Sen avulla voit jakaa yhden kuvion tarkemmin arvojen perusteella.
Järjestys ratkaisee
Tapaukset tarkistetaan ylhäältä alaspäin. Ensimmäinen täsmäävä tapaus voittaa, joten sijoita tarkimmat kuviot yleisempien edelle.
switch lausekkeena
switch-lauseke palauttaa arvon. Tapauksissa käytetään nuolta, ja koko switch arvioituu yhdeksi tulokseksi.
var label = switch (n) {
1 => 'one',
_ => 'many',
};breakia ei tarvita
Kuvioiden tapaukset eivät siirry automaattisesti seuraavaan tapaukseen, joten break-lausetta ei tarvitse kirjoittaa. Jokainen tapaus on itsenäinen ja siisti.
Loogiset OR-kuviot
Yhdistä kuviot ||-operaattorilla, niin voit täsmäyttää useita rakenteita yhdessä tapauksessa. Käsittele toisiinsa liittyvät arvot yhdessä ilman rungon toistamista.
case 1 || 2 || 3:
print('small');Kattava ja turvallinen
Sealed-tyyppien kohdalla kääntäjä tarkistaa, että switch on kattava. Jos tapaus puuttuu, Dart varoittaa ennen suoritusaikaa.
Pikatarkistus
Mikä avainsana lisää ylimääräisen ehdon switch-tapauksen kuvioon?
Kertaus: kuviot ja guardit
Onnistuitte! 🎯 switch voi täsmäyttää kuvioita, kaapata kenttiä, tarkentaa täsmäytyksiä when-guardien avulla ja palauttaa arvoja lausekkeena.
Opi Dart 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
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”switch-patternit ja vartijat” ilmainen?
Kyllä – oppitunnin ”switch-patternit ja vartijat” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Dart Academy-kurssin, päivitä CoddyKit PROhon. Dart Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”switch-patternit ja vartijat”?
Sovita rakenteita ja lisää when-ehtoja Harjoittelet Dart Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Dart Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Dart 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 ”switch-patternit ja vartijat”-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ä Dart Academy-oppitunnilla?
Kyllä. Jokainen Dart 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
- Recordit: kevyet tuple-rakenteet
- Recordien sijainti- ja nimetyt kentät
- Rakenteen hajottaminen patternien avulla
- switch-patternit ja vartijat