코틀린에서 switch문은 when문이라고 보시면 됩니다.
val value = 1
print("값: ")
when(value) {
1 -> println("1")
2 -> println("2")
3 -> println("3")
else -> println("none")
}
출력
값: 1
추가로 아래처럼 ..과 until를 이용해 범위를 정할 수도 있습니다.
둘의 차이는 마지막 값을 포함할려면 ..을 사용하고 포함하지 않으면 until를 사용하면 됩니다.
val value = 14
print("값: ")
when(value) {
in 1..10 -> println("1<=value<=10")
in 11 until 20 -> println("11<=value<20")
else -> println("none")
}
출력
값: 11<=value<20
코틀린에서는 다음과 같이 when에서 반환값을 넣을 수 있습니다.
val value = 2
val a = when(value) {
1 -> {
println("1가 들어감")
1 //반환 타입
}
2 -> {
println("2가 들어감")
2 //반환 타입
}
else -> null //반환 타입
}
println(a)
출력
2가 들어감
2
참고로 값을 넣을때 when에는 모든 경우의 수를 적어줘야하며, {}괄호를 이용하여 여러줄을 사용할 수도 있습니다.
타입이 달라도 되더라고요...
val value = 1
val a = when(value) {
1 -> "String"
2 -> 12
else -> null
}
println(a)
출력
String
val value = 2
val a = when(value) {
1 -> "String"
2 -> 12
else -> null
}
println(a)
출력
12
이게 되네...