Spiega il concetto di espressione 'when' nel linguaggio di programmazione Kotlin.
sobes.tech AI
Risposta dell'AI
when in Kotlin è un operatore strutturale universale che sostituisce il classico switch in altri linguaggi. Può essere usato come espressione (restituendo un valore) o come operatore.
Funzionalità principali:
-
Confronto di valori: Corrispondenza con valori specifici.
fun describe(obj: Any): String = when (obj) { 1 -> "Uno" "Hello" -> "Saluto" is Long -> "Lungo" !is String -> "Non è una stringa" else -> "Sconosciuto" } -
Verifica del tipo (
is/!is): Corrispondenza con tipi di dati. -
Verifica di appartenenza (
in/!in): Controllo dell'inclusione in un intervallo o collezione.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Numero positivo in intervallo" !in 10..20 -> "Non nell'intervallo secondo" else -> "Nessuno dei precedenti" } -
Senza argomento: Usato come sostituto più flessibile di catene
if-else if-else. Le condizioni vengono valutate in sequenza.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Entrambi veri" !x && !y -> "Entrambi falsi" else -> "Misto" } -
Restituzione di valore: Se
whenviene usato come espressione, deve essere esaustivo (coprire tutti i casi possibili o avere un ramoelse).
when migliora la leggibilità e la sicurezza del codice rispetto al tradizionale switch.