Switch-Case-Lause Dartissa
Pyyhkäise näyttääksesi valikon
Kun tarkistettavia ehtoja on paljon, useiden if-else-lauseiden käyttäminen voi olla hankalaa.
Tässä esimerkissä koodi tarkistaa dayOfWeek-muuttujan arvon ja tulostaa viestin vastaavalle päivälle. Jos kyseessä on arkipäivä, tulostetaan päivän nimi; muussa tapauksessa tulostetaan "Weekend".
main.dart
12345678910111213141516171819202122232425262728void main() { String dayOfWeek = "Friday"; if (dayOfWeek == "Monday") { print("Today is Monday."); } else if (dayOfWeek == "Tuesday") { print("Today is Tuesday."); } else if (dayOfWeek == "Wednesday") { print("Today is Wednesday."); } else if (dayOfWeek == "Thursday") { print("Today is Thursday."); } else if (dayOfWeek == "Friday") { print("Today is Friday."); } else { print("Weekend"); } }
Koodi voi näyttää sekavalta, mutta siitä voidaan tehdä selkeämpi käyttämällä switch-case-lausetta.
switch-case-lause koostuu useista osista: switch-avainsanasta, useista case-vaihtoehdoista arvojen vertailuun sekä valinnaisesta default-lohkosta, joka suoritetaan, jos mikään tapaus ei täsmää.
main.dart
12345678switch(expresion) { case value_1: // code to be executed case value_2: // code to be executed ............. default: // code to be executed if all cases are not matched }
-
switch(expression): arvioi lausekkeen arvon; -
case value_1: jos lausekkeen arvo on sama kuin value_1, suoritetaan vastaava koodi; -
default: suoritetaan, jos mikään case-arvo ei täsmää.
switch-case-lause on rakenne, jonka avulla voidaan suorittaa koodilohko muuttujan arvon perusteella. Tätä muuttujaa kutsutaan switch-muuttujaksi. Switch-muuttuja arvioidaan kerran, ja vastaava koodilohko suoritetaan.
main.dart
1234567891011121314151617181920212223void main() { String dayOfWeek = "Monday"; switch (dayOfWeek) { case "Monday": print("Today is Monday."); case "Tuesday": print("Today is Tuesday."); case "Wednesday": print("Today is Wednesday."); case "Thursday": print("Today is Thursday."); case "Friday": print("Today is Friday."); default: print("Weekend"); } }
- Tässä esimerkissä
switch-muuttuja ondayOfWeek. Se arvioidaan kerran, ja vastaava koodilohko suoritetaan. - Kun sopiva case suoritetaan, loput tapaukset ohitetaan.
- Jos
dayOfWeekei vastaa mitään tapausta, suoritetaandefault-lohko, joka tässä tapauksessa tulostaa"Weekend".
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme