Avatar ·

¿Qué hace el operador ?: en Kotlin? (Elvis Operator)

¡Hola a todos! Recientemente empecé a aprender Kotlin y me topé con un operador extraño `?:`. Lo vi en código de otros, pero no puedo entender qué hace. Por ejemplo, hay este código: ```kotlin val name: String? = null val result = name ?: "Unknown" ``` Entiendo que `String?` significa que la variable puede ser null. Pero ¿qué hace `?:`? ¿Por qué `result` se convierte en "Unknown" aunque `name` sea null? En Java habría escrito `if (name != null) name else "Unknown"`, pero aquí es solo un símbolo. Por favor, expliquen en palabras simples cómo funciona este operador y muestren ejemplos. También me interesa saber si se puede usar no solo con valores simples, sino también con funciones. ¿Y hay algún inconveniente? ¡Gracias de antemano! <<>>

Elvis Operator en Kotlin

El operador ?: se llama Elvis Operator (operador Elvis) — por su parecido con el peinado de Elvis Presley si giras la cabeza de lado. Se usa para manejar valores null-z