Null Safety Patterns
Let Scope
Run a small block only when a nullable value is present.
Let Scope
LetScope.kt
fun main() {
val raw: String? =
val cleaned = raw?.let { value ->
value.trim().toUpperCase()
} ?: "EMPTY"
println("raw=${raw ?: "none"}")
println("cleaned=$cleaned")
}
fun main() {
val raw: String? =
val cleaned = raw?.let { value ->
value.trim().toUpperCase()
} ?: "EMPTY"
println("raw=${raw ?: "none"}")
println("cleaned=$cleaned")
}
fun main() {
val raw: String? =
val cleaned = raw?.let { value ->
value.trim().toUpperCase()
} ?: "EMPTY"
println("raw=${raw ?: "none"}")
println("cleaned=$cleaned")
}
let
`let` can transform a present value while safe calls and Elvis provide the null path.