Kotlin:Void、Unit和Nothing — 有什么区别以及何时使用?
大家好!我最近开始学习Kotlin,从Java转过来。在Java中,我习惯用void表示不返回任何内容的方法。但在Kotlin中,我看到了三个类似的概念:Void、Unit和Nothing。我有点困惑。
例如,我写一个只打印问候语的函数:
fun greet(name: String) {
println("Hello, $name!")
}
编译器说返回类型是Unit。但我也可以这样写:
fun greet(name: String): Unit {
println("Hello, $name!")
}
另外,我在别人的代码中看到过Void(大写)和Nothing。当我尝试使用Nothing作为返回类型时,编译器说该函数永远不会正常结束。
请告诉我:
Unit、Void和Nothing有什么区别?- 什么时候应该使用它们?