Dart Academy · Oppitunti

switch-patternit ja vartijat

Sovita rakenteita ja lisää when-ehtoja

Oppitunti 4/413 vaihetta

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.

Aloita maksutta

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

  1. Recordit: kevyet tuple-rakenteet
  2. Recordien sijainti- ja nimetyt kentät
  3. Rakenteen hajottaminen patternien avulla
  4. switch-patternit ja vartijat
← Takaisin: Dart Academy