¿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