Explica el concepto de la expresión 'when' en el lenguaje de programación Kotlin.
sobes.tech AI
Respuesta de la IA
when en Kotlin es un operador estructural universal que reemplaza al clásico switch en otros lenguajes. Puede usarse como una expresión (que devuelve un valor) o como un operador.
Funciones principales:
-
Comparación de valores: Coincidencia con valores específicos.
fun describe(obj: Any): String = when (obj) { 1 -> "Uno" "Hello" -> "Saludo" is Long -> "Largo" !is String -> "No es una cadena" else -> "Desconocido" } -
Verificación de tipo (
is/!is): Coincidencia con tipos de datos. -
Verificación de pertenencia (
in/!in): Comprobación de inclusión en un rango o colección.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Número positivo en rango" !in 10..20 -> "No en el segundo rango" else -> "Ninguno de los anteriores" } -
Sin argumento: Se usa como una sustitución más flexible de cadenas
if-else if-else. Las condiciones se evalúan en secuencia.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Ambos verdaderos" !x && !y -> "Ambos falsos" else -> "Mixto" } -
Devolver valor: Si
whense usa como una expresión, debe ser exhaustivo (cubrir todos los casos posibles o tener una ramaelse).
when mejora la legibilidad y seguridad del código en comparación con el tradicional switch.