when som uttrykk
Returner verdier fra when
when som uttrykk er en gratis leksjon i Kotlin Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Kotlin Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Kotlin Academy inneholder totalt 4 leksjoner.
when som uttrykk
Kotlin sin when er mer enn en switch-setning. Det er et uttrykk, noe som betyr at det produserer en verdi som kan tilordnes eller returneres.
Dette gjør forgreningslogikk kortfattet og lesbar.
Returnere en verdi
Når when brukes som et uttrykk, leverer hver gren et resultat. Verdien fra grenen som samsvarer, blir resultatet av hele when-uttrykket.
fun main() {
val day = 3
val name = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
else -> "Other"
}
println(name)
}else er påkrevd
Når when brukes som et uttrykk, må det dekke alle tilfeller. For vilkårlige verdier betyr det en else-gren.
Uten den kan kompilatoren ikke garantere at det produseres en verdi.
fun grade(score: Int): String = when {
score >= 90 -> "A"
score >= 80 -> "B"
else -> "C"
}
fun main() {
println(grade(85))
}Flere verdier per gren
Skill flere verdier med komma for å la dem dele én gren.
Dette er ryddigere enn å gjenta samme innhold.
fun main() {
val day = 6
val type = when (day) {
1, 2, 3, 4, 5 -> "Weekday"
6, 7 -> "Weekend"
else -> "Invalid"
}
println(type)
}when uten argument
Utelat emnet, så blir hver gren en boolsk betingelse.
Dette erstatter en kjede med if/else if med en ryddig blokk.
fun main() {
val temp = 18
val feel = when {
temp < 0 -> "Freezing"
temp < 15 -> "Cold"
temp < 25 -> "Mild"
else -> "Hot"
}
println(feel)
}Intervaller i grener
Grener kan teste intervaller med in.
Dette uttrykker numeriske kategorier på en svært naturlig måte.
fun main() {
val score = 73
val band = when (score) {
in 0..59 -> "Fail"
in 60..79 -> "Pass"
in 80..100 -> "Excellent"
else -> "Invalid"
}
println(band)
}Typesjekker i grener
Grener kan kontrollere typer med is.
Resultatet fra hver gren kan være forskjellig, og when returnerer den felles typen.
fun describe(x: Any): String = when (x) {
is Int -> "Integer"
is String -> "Text"
else -> "Unknown"
}
fun main() {
println(describe(42))
println(describe("hi"))
}Grenblokker
En gren kan være en blokk med flere setninger. Det siste uttrykket i blokken er verdien.
fun main() {
val n = 5
val result = when {
n > 0 -> {
val doubled = n * 2
"Positive, doubled is " + doubled
}
else -> "Non-positive"
}
println(result)
}Returnere when direkte
En funksjon kan returnere et when-uttrykk direkte med et énuttrykksfunksjonskropp.
Dette er en svært vanlig og ryddig Kotlin-stil.
fun sign(n: Int): String = when {
n > 0 -> "positive"
n < 0 -> "negative"
else -> "zero"
}
fun main() {
println(sign(-4))
}Fange opp emnet
Emnet kan deklareres inne i when, slik at det er tilgjengelig i grenene.
Dette begrenser omfanget til en midlertidig verdi.
fun describeLength(text: String): String = when (val len = text.length) {
0 -> "empty"
in 1..5 -> "short (" + len + ")"
else -> "long (" + len + ")"
}
fun main() {
println(describeLength("hello"))
}Slik henger det sammen
Som uttrykk er when en kraftig verdiprodusent:
- Hver gren leverer et resultat
elsegjør uttrykket uttømmende- Støtter kommaer, intervaller, typer og blokker
fun ticketPrice(age: Int): Int = when {
age < 6 -> 0
age < 18 -> 10
age >= 65 -> 8
else -> 15
}
fun main() {
println(ticketPrice(4))
println(ticketPrice(70))
}Kort kontroll
Test forståelsen av when som uttrykk.
Oppsummering
Du har lært å bruke when som et uttrykk:
- Det returnerer verdien fra grenen som samsvarer
- Trenger
elsefor å dekke alle tilfeller - Støtter kommaer, intervaller, typesjekker og blokker
Deretter skal du se hvordan smart-casts lar kompilatoren snevre inn typer for deg.
Lær deg Kotlin med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 51
- Leksjoner
- 203
Ofte stilte spørsmål
Er leksjonen «when som uttrykk» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Kotlin Academy, inkludert «when som uttrykk», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Kotlin Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «when som uttrykk»?
Returner verdier fra when Du øver på Kotlin Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Kotlin Academy?
Ingen tidligere erfaring er nødvendig. Kotlin Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «when som uttrykk»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Kotlin Academy-leksjonen?
Ja. Alle Kotlin Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- when som uttrykk
- Smart-cast
- is- og as-operatorene
- Uttømmende when