728x90
코틀린에서는 if-else문을 표현식으로도 사용할 수 있다.
fun main(args: Array<String>): Unit {
val result: Int = if( 1 > 0 ) {
println("큰 값은 1")
1
} else {
println("큰 값은 0")
0
}
println(result)
}
// 큰 값은 1
// 1
Int 타입의 변수 result 에 if문을 대입하고 있다. if가 참이라면 if 블록 내의 마지막 표현식인 1이 result의 값으로 반환된다. 반대로 거짓이라면 else 블록 내의 마지막 표현식인 0이 반환된다.
이 때 if 와 else 블록의 표현식은 타입이 일치해야한다. if 의 마지막 표현식 타입이 Int 였다면 else 도 마찬가지로 Int 여야 한다. 그렇다면 아래와 같이 마지막 문장이 표현식이 아닌 경우를 보자
fun main(args: Array<String>): Unit {
val result: Int = if( 1 > 0 ) {
println("큰 값은 1")
} else {
println("큰 값은 0")
}
println(result)
}
// 큰 값은 1
// ?????
이런 경우 if else 표현식이 Unit 타입이 되며, 아무 의미 없는 값이 저장된다. 따라서 if else를 변수에 대입할 때 마지막 문장은 반드시 표현식이어야 한다.
728x90
반응형
'Android > Kotlin' 카테고리의 다른 글
Kotlin :: 반복문 while (0) | 2020.10.21 |
---|---|
Kotlin :: 조건문 when (0) | 2020.10.21 |
Kotlin :: 문자열 안에 표현식 값 넣기 (0) | 2020.10.15 |
Kotlin :: 프로그래밍 언어 배우기 (고차함수) (0) | 2020.10.12 |
Kotlin :: 프로그래밍 언어 배우기 (람다함수, 익명함수) (0) | 2020.10.06 |
댓글