본문 바로가기
Kotlin

[Kotlin 강의] if-else를 대체할 when 사용법

by 뷰티풀스택 2025. 1. 22.
반응형

when 사용법

when은 switch와 if를 합한 중간 지점의 식으로 생각하면 좋을 것 같다. 참고로, 파이썬에서는 switch 문이 아예 없을 정도로 이러한 표현식을 싫어하지만, kotlin에서는 if와 when을 고민하는 상황이 된다면 when을 선택하라고 권장하고 있다.

Kotlin, if vs when

1. 조건 변수 비교법

if 문을 switch문에 넣었다고 생각하고, 익명함수를 사용하듯이 표현식을 작성하면 된다.

when (target) {
비교조건 -> return 값
...
}

val request = "ssh"

val msg = when (request) {
    "http" -> "You are connected with HTTP"
    "https" -> "You are connected with HTTPS"
    "ssh" -> "You are connected with SSH"
    else -> "Blocked!"
}

println(msg)

---
You are connected with SSH

 

2. 조건식 비교법

when 다음에 (target) 을 없애고, { } 중괄호 내에서 비교식으로 작성한다.

when {
비교식 -> return 값
...
}

val price = 1500
val priceMsg = when {
    price > 1000 -> "It's too expensive!"
    else -> "Good to buy."
}

println(priceMsg)

---
It's too expensive!

 

반응형

댓글