본문 바로가기

나의 플랫폼/안드로이드

[Kotlin] let을 이용한 Null 체크

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
val result: Boolean

if (user != null) {
    result = write(user)
} else {
    result = false
}

이런 케이스에서는 Kotlin에서는 다음과 같이 쓰는 것이 가능합니다.

val result: Boolean = user?.let { write(it) } ?: false

참고 : https://gist.github.com/Hazealign/1bbc586ded1649a8f08f#약간-특이한-부분



하지만, 위 소스에서 false가 아닌 {} 같이 구문을 이용하고자 한다면 어떻게 하면 될까요??


fun letTest(a: String?) {
a?.let {
Log.d("Test","letTest :: 1 : "+it)
}.let {
Log.d("Test","letTest :: 2 : "+it)
}
}

위와 같이 .let {} 으로 한번 더 호출 하면 가능 합니다.


만약 letTest(null)을 호출 했을 경우 


"letTest :: 2 : null"


위와 같이 호출이 됩니다.


참고하세요.