나의 플랫폼/안드로이드
[Kotlin] let을 이용한 Null 체크
GsBOB
2017. 1. 4. 11:52
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"
위와 같이 호출이 됩니다.
참고하세요.