When 조건문을 다양하게 사용하기

2023. 11. 30. 11:01개발/Kotlin

kotlin을 사용하는 개발자들이라면..

주로 조건 필터링을 when을 사용할것이다.

왜냐면

보기 편함

when문이라는것은 …

기본 구문

when(x) {
	value -> {}
	value2 -> {}
	value3 -> {}
}

이런 식으로 사용을 하는 친구인데

단일 케이스 다중 값

when(x) {
	1,2,3 -> {}
	else -> {}
}

이런식으로, 공통된 결과를 만드는 케이스들을 모아서 사용할 수도 있다.

여기까지는 다들 사용하고 있을거고…나도 익숙하다.

아래부터는 조금 다양한 변형을 살펴보자

조건 분기

when [
	x.isOdd() -> {}
	x.isEven() -> {}
	else -> {}
}

이런 식으로..표현식을 포함한 조건들도 비교가 가능하다.

스마트 캐스트

when(x) {
	is String -> {}
	is Int -> {}
	else -> {}
}

명시적 캐스팅 없이 타입에 따라 적절한 처리를 해줄 수도 있다

범위 또는 컬렉션 확인

when(x) {
	in i..10 -> {}
	in validNumbers -> {}
	!in 10..20 -> {}
	else -> {}
}

2번 경우처럼 특정 컬렉션 내에 있는지 확인할 수도 있고, 1,3 경우처럼 특정 수의 범위 내에 있는지도 확인이 가능하다

간단한 예제들이지만, 정작 기능 개발을 진행할 때 까먹어서….써 둔다.

Kotlin의 최대 장점인 가독성! 높여보자!


Uploaded by N2T

'개발 > Kotlin' 카테고리의 다른 글

Coroutine Flow BackPressure & Buffer  (0) 2023.11.30
Kotlin testable code  (0) 2023.11.30
Kotlin flow 병렬로 장기 작업 실행  (0) 2023.11.01
to clean code (in Kotlin)  (0) 2023.10.23
Viewmodel / manage string res  (0) 2023.10.23