세상을 더 편리하게
[Kotlin] 라벨을 이용한 continue / break
Programming/Kotlin 2020. 3. 6. 19:21

이중 반복문을 쓰다 보면 가끔 한꺼번에 반복문을 탈출해야 할 필요가 있다. 그럴 때 마다 boolean 값을 넣어서 탈출 탈출해야 했지만 코틀린에서는 라벨을 이용해 한번에 탈출 할 수 있다. fun function(): Unit { first@ for(i in 1..5){ second@ for (j in 1..5){ if(j==3) break@first } } } 위의 코드를 보면 두개의 라벨이 있다 인자가 i 이고 라벨이름이 first 인 것과 인자가 j이고 라벨이 second인 라벨이 있다. 위에서 보면 i = 1 이고 j = 3 일 때 i / j 두개의 포문을 한번에 탈출하는 것을 알 수 있다.

[Kotlin] 람다식에서 라벨을 이용한 return
Programming/Kotlin 2020. 3. 6. 03:28

※ 이건 제가 공부하기 위해 만든 글입니다. 이해하기 쉽게 적다보니 틀린 것이 있을 수 있습니다! 라벨을 이용한 람다식 반환(return) 앞에서 inline 함수를 통한 람다식에 return 쓰는 것이 가능하다는 것을 배웠다. 하지만 람다식에서 라벨을 이용해 return도 가능하다. 먼저 라벨은 별명같은 것이다. fun main() { println("Start") inlineLambda(13, 3) lit@{ a, b -> val result = a + b if(result > 10) return@lit println("result : $result") } } fun inlineLambda(x: Int, y: Int, lambda: (Int, Int) -> Unit): Unit { lambda(x,y..

[Kotlin] 조건문(2) - For
Programming/Kotlin 2020. 3. 6. 03:11

For문 코틀린에서 for문은 놀랍게도 자동적으로 인자를 생성해주고 인자를 자동으로 1씩 증가해준다.(물론 대입도 가능) 그렇기에 for(i in 1..3) println(i) 이렇게 작성하면 1 2 3 총 3번 작업한다. [ C 에서는 0 부터 시작하는게 숫자 카운트하는데 좋지만 Kotlin 은 1 이 편하다] 반대로 내려갈 때에는 downTo 이라는 것을 쓴다. for (i in 5 downTo 1) println(i) 만약 2계단 혹은 3계단씩 증가 혹은 감소 시킬일이 있으면 for (i in 5 downTo 1 step 2) println(i) 이러한 방식을 쓰는게 유용하다.

[Kotlin] 조건문
Programming/Kotlin 2020. 3. 3. 21:29

※자바 C C++ 과 많이 다르다고 생각한 부분만 필기한 것 If 자바는 변수에도 if 가 가능하다. val max = if( a > b ) a else b When 이건 C에서의 swtich 와 같다. when (max) { 1 -> println("Max 는 1이다") 3, 4 -> prinitln("Max 는 3 혹은 4이다") 5 -> println("Max 는 5이다") else -> println("Max 는 5도 1도 아니다") // 값 -> 값과 max가 일치 할 때 실행되는 명령어 } when 의 문법은 위와 같다. 하지만 3, 4 처럼 여러개의 조건 중 하나 일 때 처럼 범위를 지정 할 떄는 다음과 같이 한다. when도 C언어에서의 switch와 같이 true 인 조건이 나로면 바로 ..