외우지말고 이해하라.

외우는 것 보단 이해해서 내것으로 만들어 활용하기

Another-Develop/kotlin

04 코틀린 - When, downTo , .. , until

hyg4196 2021. 4. 21. 14:00
반응형

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

 

[Kotlin] 코틀린 let, with, run, apply, also 차이 비교 정리

let, with, run, apply, also 코틀린에는 이렇게 생긴 확장함수들이 있다. 객체를 사용할 때 명령문들을 블럭{} 으로 묶어서 간결하게 사용할 수 있게 해주는 함수들이다. 문제는 서로 비슷비슷해서 헷

blog.yena.io


출처: https://tourspace.tistory.com/65 [투덜이의 리얼 블로그]

 

반응형