L'istruzione when su Kotlin

L'istruzione when del linguaggio Kotlin mi permette di realizzare una struttura condizionale con più valori di confronto.

when (variabile) {
val1 -> istruzione 1
val2 -> istruzione 2
val3 -> istruzione 3
...
}

Tra le parentesi tonde è indicata la variabile da confrontare, mentre val1, val2, val3 sono i valori che potrebbe assumere la variabile.

Ogni valore è seguito dal simbolo -> e dall'istruzione da eseguire nel caso in cui il confronto della riga sia soddisfatto.

Nota. Questa struttura condizionale è particolarmente utile se i confronti sono molti, perché l'istruzione when è molto più compatta e leggibile delle else if. Il funzionamento è simile all'istruzione switch case del linguaggio C.

    Non c'è limite alla lista dei confronti.

    Un esempio pratico

    Esempio 1

    Questo semplice codice verifica se la variabile x è uguale a uno, due o tre.

    1. fun main() {
    2. val x =3
    3. when(x) {
    4. 1 -> println("uno")
    5. 2 -> println("due")
    6. 3 -> println("tre")
    7. }
    8. }

    Poiché la variabile x=3, il terzo confronto è soddisfatto.

    Il risultato in output è

    tre

    Esempio 2

    Nei confronti posso anche usare delle variabili. Non solo dei valori.

    1. fun main() {
    2. val prova =3
    3. val x =3
    4. when(x) {
    5. 1 -> println("uno")
    6. 2 -> println("due")
    7. prova -> println("tre")
    8. }
    9. }

    Il terzo confronto della struttura when è soddisfatto perché prova=x.

    Il risultato in output è

    tre

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Kotlin