Como hacer un switch en kotlin

publicado por: Anonymous

Tengo el siguiente switch de ejemplo en java:

int variable = 2;

switch(variable){
     case 1:
     //cosas
     break;

     case 2:
     case 3:
        break;
     case 4:
     //cosas
     break

    default:
    break;
}

Lo que quiero con este código java es hacerlo en kotlin, es decir que cuando la variable sea 2 o 3 ejecute lo mismo, justo como lo hice en java.

solución

Revisa la documentación, When, reemplaza el operador switch de lenguajes tipo C, en este caso Kotlin . Ejemplo:

when (x) {
    1 -> print("x == 1")
    2 -> print("x == 2")
    else -> { // Note the block
        print("x no es 1 o 2")
    }
}

Si muchos casos se deben manejar de la misma manera, las condiciones se pueden combinar con una coma:

when (x) {
    0, 1 -> print("x == 0 or x == 1")
    else -> print("de otra forma.")
}

Podemos usar expresiones arbitrarias (no solo constantes) como condiciones de las ramas

when (x) {
    parseInt(s) -> print("s codifica x")
    else -> print("s no codifica a x")
}

También podemos verificar un valor que puede ser in o !in dentro de un rango o una colección:

when (x) {
    in 1..10 -> print("x is in the range")
    in validNumbers -> print("x is valid")
    !in 10..20 -> print("x is outside the range")
    else -> print("none of the above")
}

Definido lo anterior la versión de tu código en Kotlin sería:

   var variable = 2

    when (variable) {
        1 -> {
            //Agrega aquí lo que realizaría si variable es igual 1

        }
        2, 3 -> {
            //Agrega aquí lo que realizaría si variable es igual a 2 o 3

        }
        4 -> {
            //Agrega aquí lo que realizaría si variable es igual 4

        } 
        else -> { // Opción default

        }
    }
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *