Unit 和 { } 的区别

P.J*_*uni 0 kotlin

我想我不明白Unit和之间的区别是什么{},例如在乐趣中使用回调时。

fun x(
    callback: () -> Unit = {} // fine
)

fun x(
    callback: () -> Unit = Unit // not fine
)
Run Code Online (Sandbox Code Playgroud)

Ada*_*hip 6

{}是一个返回 的 lambda Unit,它是 的有效值() -> Unit

Unit是一个对象,它不是 的有效值() -> Unit