728x90
코틀린에서는 When이라는 조건문이 있습니다
When 키워드 다음의 소괄호() 안에 넣은 데이터가 조건이 되며
이 값에 따라 각 구문을 실행하게 됩니다
fun main(){
var data = 10
when(data){
10 -> println("data = 10")
20 -> println("data = 20")
else ->{
println("data not valid")
}
}
}
위 코드에서 when의 조건으로 data라는 var 변수를 주었고
when 내에 해당하는 값에 따라서 조건이 실행됩니다
when은 조건으로 정수형뿐만 아니라 String 등의 다른 타입의 데이터를 지정할 수 있습니다
fun main(){
var data = "hi"
when(data){
"hi" -> println("data = hi")
"hello" -> println("data = hello")
else ->{
println("data not valid")
}
}
}
위에처럼 String으로 된 조건을 when에 대입한 뒤에
그에 맞는 조건에 따라 구문을 실행할 수 있습니다
fun main(){
var data:Any = 10
when(data){
is String -> println("data is String")
20, 30 -> println("data = 20 or 30")
in 1..30 -> println("data range 1 ~ 30")
else ->{
println("data not valid")
}
}
}
위 코드에서 is는 타입을 확인하는 연산자이며 in은 범위 지정 연산자입니다
is String은 데이터 타입이 String이면 참이며 in 1.. 30은 data의 값이 1~30 사이이면 참입니다
fun main(){
var data:Any = 10
val result = when{
is String -> println("data is String")
20, 30 -> println("data = 20 or 30")
in 1..30 -> println("data range 1 ~ 30")
else ->{
println("data not valid")
}
}
}
when은 데이터를 명시하지 않고 조건만 명시할 수 있습니다
또한 when문의 실행 결과를 반환받을수 있지만 이럴 경우에 else문은 생략할 수 없습니다
728x90
반응형
'언어 > 코틀린' 카테고리의 다른 글
[Kotlin] 널 안전성이란? (2) | 2022.07.20 |
---|---|
[Kotlin] 클래스와 생성자 (6) | 2022.06.14 |
[Kotlin] 함수 선언 (2) | 2022.06.13 |
[Kotlin] 데이터 타입 (2) | 2022.06.10 |
[Kotlin] 변수 선언 (1) | 2022.06.10 |
댓글