더북(TheBook)

자바와 마찬가지로 블록에 들어 있는 문장이 단 한 줄 뿐이라면 중괄호를 생략해도 된다.

val a: Int = ...
val b: Int = ...

val s = if (a < b)
           "a is smaller than b"
        else
           "a is not smaller than b"

println(s)

자바에서는 이런 방식을 나쁜 습관으로 간주할 때가 있다. 하지만 코틀린에서는 그렇지 않다. 중괄호를 생략하면 반드시 ifelse를 함께 써야 한다. 실수로 분기 중 한쪽에 중괄호를 쓰지 않고 코드를 한 줄 더 추가하면 컴파일이 되지 않는다. if ... else 식의 각 분기가 여러 줄에 걸쳐 있다면 이를 블록으로 감싸야 한다(자바와 비슷하다). 하지만 이때 블록 안에서 return 키워드를 사용하면 안 된다.6

val a: Int = 6
val b: Int = 5

val percent = if (b != 0) {
    val temp = a / b
    temp * 100
} else {
    0
}

 

 


6 역주 물론 if 안에서도 함수에서 값을 반환하기 위해 return을 쓸 수 있다. 하지만 if ... else 식 안에서 return을 사용하기보다는 return if ... else처럼 if ... else가 만들어낸 값을 반환하는 편이 더 낫다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.