8.2.5 函数返回类型

函数返回类型需要显式声明

具有块代码体的函数必须始终显式指定返回类型,除非他们旨在返回 Unit

Kotlin 不推断具有块代码体的函数的返回类型,因为这样的函数在代码体中可能有复杂的控制流,并且返回类型对于读者(有时对于编译器)也是不明显的。#### 返回 Unit 的函数

如果一个函数不返回任何有用的值,它的返回类型是 UnitUnit 是一种只有一个Unit 值的类型。这个值不需要显式返回:

  1. fun printHello(name: String?): Unit {
  2. if (name != null)
  3. println("Hello ${name}")
  4. else
  5. println("Hi there!")
  6. // `return Unit` 或者 `return` 是可选的
  7. }

Unit 返回类型声明也是可选的。上面的代码等同于

  1. fun printHello(name: String?) {
  2. .....
  3. }