Функция let
Функция let является стандартной функцией-расширением в Kotlin,
которая принимает лямбда-выражение в качестве параметра и выполняет его,
передавая в него объект, для которого была вызвана. Результатом функции
является результат выполнения лямбда-выражения. Основное применение -
безопасная работа с nullable-объектами и цепочки преобразований.
Синтаксис
inline fun <T, R> T.let(block: (T) -> R): R
Пример
Использование let для безопасной работы с nullable-строкой:
val str: String? = "hello"
val length = str?.let {
it.length
}
println(length)
Результат выполнения кода:
Int 5
Пример
Использование let с цепочкой преобразований:
val numbers = listOf(1, 2, 3, 4, 5)
val squaredEven = numbers.filter { it % 2 == 0 }
.let {
it.map { num -> num * num }
}
println(squaredEven)
Результат выполнения кода:
List<Int> [4, 16]
Пример
Использование let для переименования контекстной переменной:
val person = Person("John", 25)
person.let { user ->
println("Name: ${user.name}, Age: ${user.age}")
}
Результат выполнения кода:
String "Name: John, Age: 25"
Пример
Использование let с возвращаемым значением:
val number = 10
val doubled = number.let {
it * 2
}
println(doubled)
Результат выполнения кода:
Int 20