kotlin
에서는 다양한 이유로 let
이라는 키워드를 사용하는데요.
아래는 let
의 정의입니다.
@kotlin.internal.InlineOnly
public inline fun <T, R> T.let(block: (T) -> R): R {
contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
}
return block(this)
}
보통은 null check
을 하기 위해 사용합니다.
val listWithNulls: List = listOf(“Kotlin”, null)
for (item in listWithNulls) {
item?.let { println(it) } // prints Kotlin and ignores null
}
위 코드를 보면 아래와 동일한 코드로 이해할 수 있습니다.
for (item in listWithNulls) {
if (item != null) {
println(item)
}
}