반응형
1. When
when은 if나 switch를 대체할 수 있는 강력한 도구 입니다.
아래와 같이 when에 enum을 넣어 사용할 수 있습니다. (사실 이건 자바도 가능하죠)
fun getMnemonic(color: Color) = when (color) {
Color.RED -> "Richard"
Color.ORANGE -> "Of"
Color.YELLOW -> "York"
Color.GREEN -> "Gave"
Color.BLUE -> "Battle"
Color.INDIGO -> "In"
Color.VIOLET -> "Vain"
}
fun main(args: Array<String>) { println(getMnemonic(Color.BLUE)) }
2.3.3 When의 인자값
When은 swith와 다르게 인자값으로 아무 객체나 사용할 수 있습니다.
좀 막강하죠?
아래 코드처럼 조건에 객체가 들어가면 분기조거네 있는 객체와 같은지를 확인하여 처리합니다.
fun mix(c1: Color, c2: Color) = when (setOf(c1, c2)) {
setOf(RED, YELLOW) -> ORANGE
setOf(YELLOW, BLUE) -> GREEN
setOf(BLUE, VIOLET) -> INDIGO
else -> throw Exception("Dirty color")
}
fun main(args: Array<String>) { println(mix(BLUE, YELLOW)) }
2. downTo , .. , until
for (i in 100..200) { // i가 100 부터 200(포함)까지 반복 }
for (i in 100 downTo 1) { // i가 100부터 1(포함)까지 반복 }
for (i in 100 downTo 1 step 2) { // i가 100부터 1(포함)까지 2단계씩 뛰면서 (-2씩 증가) 반복 }
for (i in 1 until size) {}
3. .also
let, with, run, apply, also 설명 사이트
blog.yena.io/studynote/2020/04/15/Kotlin-Scope-Functions.html
출처: https://tourspace.tistory.com/65 [투덜이의 리얼 블로그]
반응형
'Another-Develop > kotlin' 카테고리의 다른 글
06 코틀린 - Jackson (0) | 2021.05.06 |
---|---|
05 코틀린 - init, mapOf() , toMap() (0) | 2021.04.27 |
03 코틀린 - MutableList (0) | 2021.04.20 |
02 코틀린 - readLine (자료형변환) , 배열 (0) | 2021.04.16 |
01 코틀린 - 클래스, 데이터 클래스, 타입추론 , Nullable (0) | 2021.04.16 |