kotlin - 函数中Unit-return的目的是什么

来自 Kotlin 文档:

如果一个函数没有返回任何有用的值,它的返回类型是 Unit。 Unit 是一种只有一个值的类型——Unit.VALUE。该值不必显式返回:

fun printHello(name : String?) : Unit { 
   if (name != null) 
     print("Hello, $name!") 
   else 
     print("Hi there!") 
   // We don't need to write 'return Unit.VALUE' or 'return', although we could 
}

函数中返回单位的目的是什么?为什么 VALUE 在那里?这个 VALUE 是多少?

最佳答案

目的与 C 或 Java 的 void 相同。只有 Unit 是正确的类型,所以它可以作为泛型参数等传递。

  1. 为什么我们不叫它“Void”:因为“void”这个词的意思是“无”,还有另一种类型,Nothing,意思是“根本没有值(value)” ",即计算没有正常完成(永远循环或抛出异常)。我们无法承受意义的冲突。

  2. 为什么 Unit 有一个值(即与 Nothing 不同):因为通用代码可以顺利运行。如果为泛型参数 T 传递 Unit,则为任何 T 编写的代码都需要一个对象,并且必须有一个对象,即 Unit 的唯一值。

  3. 如何访问 Unit 的值:因为它是一个单例对象,所以说 Unit

https://stackoverflow.com/questions/22654932/

相关文章:

kotlin - Kotlin 中线程和协程的区别

java - Kotlin 'when' 语句与 Java 'switch'

android - Kotlin: "return@"是什么意思?

list - 如何在 Kotlin 中初始化 List

java - Android 动画 Alpha

unit-testing - 在 Kotlin 中测试预期的异常

lambda - 传递 lambda 而不是接口(interface)

kotlin - 如何在 Kotlin 中同时捕获多个异常?

kotlin - Kotlin 中的 "receiver"是什么?

android - 找不到字段的 setter - 将 Kotlin 与 Room 数据库结合使用