프로그래밍
[Kotlin] inline
독서와 여행
2021. 3. 29. 17:28
fun main() {
shortFunc(3){
println("First call :$it")
return
}
}
inline fun shortFunc(a:Int, out:(Int) -> Unit){
println("Before calling out()")
out(a)
println("After calling out()")
}
실행 결과는
Before calling out()
First call :3
이렇게 나온다
inline은 코드를 복사하는 거기 때문에
out(3)이 실행되면 println 하고 return을 해버리기 때문에
shortFunc(3){
println("First call :$it")
return
}
이건 사실 shortFunc(3){println("First call :$it") return}
이렇게 생각하면 된다