callback lambda 를 function의 parameter로 넘겨서 사용하려고 합니다.
lambda의 정의는 간단하죠.
함수 정의
fun saveFile(value: Int, callback: (value: Int) -> Void) { }
함수 사용
functionName(10, { value -> })
이렇게 하면 당연히 될줄 알았습니다. 대부분의 언어에서 return 값이 없으면 void 또는 빈값을 해서요...
https://kotlinlang.org/docs/reference/functions.html#unit-returning-functions
return 값이 없을 때는 Unit type 으로 return type 을 지정해야 한다고 되어 있습니다.
함수 정의
fun saveFile(value: Int, callback: (value: Int) -> Unit) { }
이제 문제 없이 잘 build 됩니다.
Kotlin 에서는 void return 이 아니라 Unit return 해야 합니다.
댓글을 달아 주세요
비밀댓글입니다
2016.10.12 15:08 [ ADDR : EDIT/ DEL : REPLY ]