Équivalent de la construction Swift 'if let' en Kotlin pour travailler en toute sécurité avec les types nullable
Bonjour à tous ! Je viens de commencer à apprendre Kotlin après Swift, et j'ai rencontré un problème. En Swift, j'utilisais souvent la construction `if let` pour extraire en toute sécurité des valeurs optionnelles. Par exemple :
```swift
var name: String? = "Alice"
if let unwrappedName = name {
print("Hello, \(unwrappedName)")
} else {
print("Name is nil")
}
```
Cela me permet de vérifier si une valeur existe dans l'optionnel, et si c'est le cas — de l'extraire automatiquement et de l'utiliser dans le bloc. Très pratique pour éviter le force unwrapping.
En Kotlin, je vois que les types peuvent être nullable (avec `?`) et non-null. Mais je ne trouve pas d'équivalent direct à `if let`. J'ai essayé d'écrire ceci :
```kotlin
var name: String? = "Alice"
if (name != null) {
println("Hello, $name")
}
```
Mais cela fonctionne seulement si la variable `name` ne change pas entre la vérification et l'utilisation (le compilateur est intelligent, c'est le smart cast). Et si je veux créer une nouvelle variable avec un type non-null, comme en Swift ? Ou si je travaille avec des variables mutables ?