Блок let для не-null значения в Kotlin
Функция let вызывает переданную лямбду,
передавая в нее текущий объект. У nullable-типа
запись ?.let запускает блок только если
значение не null; иначе весь вызов
дает null:
val name: String? = "anna"
val skip: String? = null
name?.let { println(it.uppercase()) }
skip?.let { println(it.uppercase()) }
Внутри однопараметровой лямбды аргумент доступен
как it. Результат let - это то,
что вернула лямбда, если блок выполнился:
val raw: String? = "42"
val num = raw?.let { it.toIntOrNull() }
println(num)
Так удобно обработать строку один раз и не дублировать имя переменной внутри длинного выражения:
val tag: String? = " go "
tag?.let {
println(it.trim())
}
Дана переменная:
val city: String? = "rome"
Если значение не null, выведите его
в верхнем регистре.
Дана переменная:
val text: String? = "10"
Сохраните в parsed число, полученное
из строки, или null, если строки нет.
Выведите parsed.