자동화 앱 알고 다운로드 👇👇👇
https://play.google.com/store/apps/details?id=com.ogoons.algo
A Simple Developer's Life
https://play.google.com/store/apps/details?id=com.ogoons.algo
우리는 보통 null 체크하는 로직을 아래와 같이 구현합니다.
fun letNullCheck(arg: String?) {
if (arg != null) {
Log.d("TEST", "if NotNull arg = ${it}")
} else {
Log.d("TEST", "if Null arg = ${it}")
}
}
좀 더 Kotlin 스럽게(?) 한다면 let과 elvis operator를 추가하여 아래와 같이 사용할 수 있습니다.
fun letNullCheck(arg: String?) {
arg?.let { Log.d("TEST", "if NotNull arg = ${it}") } ?: Log.d("TEST", "if Null arg = ${it}")
}
잘 동작합니다. 하지만 elvis 연산자 뒤에는 중괄호를 포함할 수 없기에 솔루션을 검색해보니 아래와 같은 코드를 구현한 포스팅을 찾을 수 있었는데요.
fun letNullCheck(arg: String?) {
arg?.let {
Log.d("TEST", "if NotNull arg = ${it}")
}.let {
Log.d("TEST", "if Null arg = ${it}")
}
}
하지만 위와 같은 코드에는 오류가 있습니다.
arg가 Null 인 경우는 문제가 없지만 NotNull인 경우 NotNull인 경우의 구문과 Null 구문까지 모두 실행해 버립니다.
$ git init
로컬 레포지토리 초기화