익명함수 anonymous fun은 return,break,continue가 사용가능하다
하지만 람다식에서는 사용하기 어렵고 라벨표기법과 함께 사용해야 한다
람다식에서 인라인을 막는다.
inline fun shortFunc(a:String, noinline out:(String) -> Unit){ }
비지역 반환을 금지 시킨다.
inline fun shortFun(a:Int, crossinlineout:(Int) -> Unit){
println("hello")
out(a)
println("goodbye")
}
fun main() {
shortFunc("worldCup") { a -> println("today") }
shortFun(3){
println("a:$it")
//return
}
}
비지역 반환시: shortFun
out
에서 리턴되어 굿바이 출력되지 않는다.
하지만, crossinlineout 키워드를 적용하면 return 컴파일에러가 뜬다.