when come espressione
Restituisca valori da when
when come espressione è una lezione Kotlin Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Academy include 4 lezioni in totale.
when come espressione
In Kotlin, when è più di un'istruzione switch. È un'espressione, cioè produce un valore che può assegnare o restituire.
Questo rende la logica condizionale concisa e leggibile.
Restituire un valore
Quando viene usato come espressione, ogni ramo fornisce un risultato. Il valore del ramo corrispondente diventa il risultato complessivo di when.
fun main() {
val day = 3
val name = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
else -> "Other"
}
println(name)
}else è obbligatorio
Quando viene usato come espressione, when deve essere esaustivo. Per valori arbitrari, questo significa includere un ramo else.
Senza di esso, il compilatore non può garantire che venga prodotto un valore.
fun grade(score: Int): String = when {
score >= 90 -> "A"
score >= 80 -> "B"
else -> "C"
}
fun main() {
println(grade(85))
}Più valori per ramo
Separi più valori con virgole per associarli allo stesso ramo.
È più pulito che ripetere lo stesso corpo.
fun main() {
val day = 6
val type = when (day) {
1, 2, 3, 4, 5 -> "Weekday"
6, 7 -> "Weekend"
else -> "Invalid"
}
println(type)
}when senza argomento
Ometta il soggetto: ogni ramo diventa una condizione booleana.
In questo modo sostituisce una catena di if/else if con un blocco ordinato.
fun main() {
val temp = 18
val feel = when {
temp < 0 -> "Freezing"
temp < 15 -> "Cold"
temp < 25 -> "Mild"
else -> "Hot"
}
println(feel)
}Intervalli nei rami
I rami possono verificare gli intervalli con in.
È un modo molto naturale di esprimere fasce numeriche.
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)
}Controlli del tipo nei rami
I rami possono verificare i tipi con is.
Il risultato di ogni ramo può essere diverso e when restituisce il tipo comune.
fun describe(x: Any): String = when (x) {
is Int -> "Integer"
is String -> "Text"
else -> "Unknown"
}
fun main() {
println(describe(42))
println(describe("hi"))
}Blocchi nei rami
Un ramo può essere un blocco contenente più istruzioni. L'ultima espressione del blocco ne costituisce il valore.
fun main() {
val n = 5
val result = when {
n > 0 -> {
val doubled = n * 2
"Positive, doubled is " + doubled
}
else -> "Non-positive"
}
println(result)
}Restituire direttamente when
Una funzione può restituire direttamente un'espressione when usando un corpo costituito da una singola espressione.
È uno stile Kotlin molto comune e pulito.
fun sign(n: Int): String = when {
n > 0 -> "positive"
n < 0 -> "negative"
else -> "zero"
}
fun main() {
println(sign(-4))
}Acquisire il soggetto
Può dichiarare il soggetto all'interno di when, rendendolo disponibile nei rami.
In questo modo il valore temporaneo rimane nello scope più ristretto possibile.
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"))
}Mettere tutto insieme
Come espressione, when è un potente costruttore di valori:
- Ogni ramo fornisce un risultato
elselo rende esaustivo- Supporta virgole, intervalli, tipi e blocchi
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))
}Verifica rapida
Verifichi la Sua comprensione di when come espressione.
Riepilogo
Ha imparato a usare when come espressione:
- Restituisce il valore del ramo corrispondente
- Richiede
elseper essere esaustivo - Supporta virgole, intervalli, controlli dei tipi e blocchi
Ora vedrà come gli smart cast permettono al compilatore di restringere automaticamente i tipi.
Domande Frequenti
La lezione «when come espressione» è gratuita?
Sì — il testo completo di «when come espressione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Academy, passa a CoddyKit PRO. Il corso Kotlin Academy include 4 lezioni in totale.
Cosa imparerò in «when come espressione»?
Restituisca valori da when Eserciti Kotlin Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Kotlin Academy?
Non è richiesta alcuna esperienza precedente. Kotlin Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «when come espressione»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Kotlin Academy?
Sì. Ogni lezione Kotlin Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- when come espressione
- Smart cast
- Operatori is e as
- when esaustivo