如何重写一个返回void或Unit的函数,用一个表达式返回一些非Unit类型的单表达式函数 ? 例如: interface Base { fun overrideMe(): Unit } class Derived: Base { override fun overrideMe() = runAsync { } }
我试图在Kotlin中创建没有返回值的函数。 而且我用Java编写了一个函数,但是使用了Kotlin语法 fun hello(name: String): Void { println("Hello $name"); } 我有一个错误 错误:带有块体('{…}'的函数中需要“返回”表达式) 经过几次更改后,我得到了一个可为空函数作为返回类型的工作函数。 但这不完全是我所需要的 fun hello(name: String): Void? { println("Hello $name"); return null } 根据Kotlin文档,单元类型对应于Java中的void类型。 所以在Kotlin中没有返回值的正确函数是 fun hello(name: String): Unit { println("Hello $name"); } 要么 fun hello(name: String) { println("Hello $name"); } 问题是: Void在Kotlin中意味着什么,如何使用它,以及这种用法的优点是什么?