/*return@레이블 반환값 ... */ var lambdaVal = Exit@{ //이름없는 함수(람다식)의 리턴 if (true) { return@Exit true //true일 때 반환값, lambdaVal 셋팅 } false //false일 때 반환값, lambdaVal 셋팅 } /*break@레이블,continue@레이블*/ fun exitLoop() { // 제어문 빠져나갈 '레이블@' 지정, 'break@레이블'로 지정한 곳으로 빠져나감. goto와 유사 Exit@ for(i in 0 .. 2){ for (j in 0.. 10){ if (j == 5) break@Exit //5가되면 println 실행 전에 Exit@로 빠져나가 for문 종료 println("i->$i, j->$j") } } } class Foo{ fun Int.This(){ val funThis = this //함수 자체 선언 val funExternal = this@Foo //this를 이용하여 외부 객체 할당 test() funExternal.test() } fun test() { } } fun test(){ } }
return@레이블 반환값...
해당 레이블로 값을 가지고 복귀(이름없는 함수나 람다식에 사용)
break@레이블, continue@레이블
break는 반복문을 종료하고 지정한 레이블로 나감
continue는 다음라인을 무시하고 지정한 레이블 이동
this@레이블
내/외부에 접근
반응형
'학습 log (이론) > kotlin' 카테고리의 다른 글
Kotlin기초 '객체' (0) | 2019.11.03 |
---|---|
Kotlin기초 'Exception 처리' (0) | 2019.10.27 |
Kotlin기초 'Collection' (0) | 2019.10.24 |
Kotlin 기초 '제어문' (0) | 2019.10.20 |
'변수와 함수' Kotlin기초 (0) | 2019.08.18 |