Kotlin에서는 표준 라이브러리 중 let으로 null check절을 좀 더 간단하게 작성할 수 있다.
if(myNullable != null) { } 구문
var myNullable = null
val res = myNullable?.let { it ->
// 널이 아닐 때 실행코드
}
if(myNullable == null) 구문 (한 줄)
var myNullable = null
val res = myNullable ?: "abcd" // 이 경우 res에 "abcd"가 할당된다.
val res = myNullable ?: myFunction() // 이 경우 res에 kotlin.Unit가 할당된다.
if(myNullable == null) { } 구문 (블럭)
var myNullable = null
myNullable ?: {
// 실행 코드
} ()
myNullable ?: {
// 실행 코드
}.invoke()
myNullable ?: fun () {
// 실행 코드
} ()
myNullable ?: fun () {
// 실행 코드
}.invoke()
myNullable ?: run {
// 실행 코드
}
위를 조합한 if(myNullable != null) { } else { } 구문은 다음과 같이 적을 수 있다.
var myNullable = null
val res = myNullable?.let {
// 널이 아닌 경우
} ?: {
// 널인 경우
} ()
var myNullable = null
val res = myNullable?.let {
// 널이 아닌 경우
} ?: {
// 널인 경우
} ()
var myNullable = null
val res = myNullable?.let {
// 널이 아닌 경우
} ?: run {
}
var myNullable = null
val res = myNullable?.let {
// 널이 아닌 경우
} ?: fun() {
} () // ()대신 invoke()로 호출할 수 있다.
'소프트웨어 > Kotlin' 카테고리의 다른 글
[Kotlin/Swing] 화면 잠금 방지 App 1.0 (0) | 2019.06.24 |
---|---|
Java와는 다른 Kotlin만의 기본 문법 정리 (0) | 2019.06.17 |