文章目录

  • ​​一、Unit 函数​​
  • ​​二、TODO 函数抛出异常返回 Nothing 类型​​
  • ​​三、反引号函数名​​






一、Unit 函数



Java 语言 中 没有返回值的函数 其 返回类型 是 ​​void​​ ;

Kotlin 语言 中 没有返回值的函数 其返回类型是 ​​Unit​​ , 该函数又称为 Unit 函数 ;



Kotlin 语言中 推出 Unit 类型概念 , 是为了 兼容 泛型 概念 ,

如果 函数没有返回值 , 就可以 忽略该类型 , 返回 ​​void​​ ,

但是在 泛型 概念中 , 必须有一个确定的 类型 , 因此这里引入 Unit 类型 ;



代码示例 : 在下面代码的 ​​hello()​​​ 函数的返回值类型是 ​​Unit​​​ 类型 , 如果打印该返回值 , 打印结果为 ​​kotlin.Unit​​ ;

fun main() {
println(hello())
}

fun hello(): Unit {
println("Hello")
}

执行结果 :

Hello
kotlin.Unit

【Kotlin】函数 ② ( Unit 函数 | TODO 函数抛出异常返回 Nothing 类型 | 反引号函数名 )_Unit函数






二、TODO 函数抛出异常返回 Nothing 类型



在 Kotlin 中 有一种函数 TODO 函数 ,

TODO 函数 唯一的作用 就是 抛出异常 ,

该函数 执行永远失败 , 并且 返回 Nothing 类型 ;



TODO 函数原型如下 :

/**
* 总是抛出[NotImplementedError],表示操作未实现。
*
* @param reason一个解释为什么缺少实现的字符串。
*/
@kotlin.internal.InlineOnly
public inline fun TODO(reason: String): Nothing =
throw NotImplementedError("An operation is not implemented: $reason")



代码示例 :

fun main() {
TODO("TODO 抛出异常")
}

执行结果 :

Exception in thread "main" kotlin.NotImplementedError: An operation is not implemented: TODO 抛出异常
at HelloKt.main(Hello.kt:2)
at HelloKt.main(Hello.kt)

【Kotlin】函数 ② ( Unit 函数 | TODO 函数抛出异常返回 Nothing 类型 | 反引号函数名 )_java_02






三、反引号函数名



Java 的函数名要求 :

  • 只能由 字母数字下划线 构成
  • 首字母并不能是数字
  • 不能是关键字

Kotlin 中 函数名 可以使用 空格 , 特殊字符 , 关键字 , 前提是 该函数名 必须使用 反引号 ;

注意 Kotlin 和 Java 中的关键字不同 , 不管是哪个语言的关键字 , 都不能作为函数名 , 但是如果将关键字 使用反引号 括起来 , 就可以使用其作为函数名 ;



代码示例 :

fun main() {
`~!@# Hello World %^&*`()
}

fun `~!@# Hello World %^&*`(){
println("Hello World")
}

执行结果 :

【Kotlin】函数 ② ( Unit 函数 | TODO 函数抛出异常返回 Nothing 类型 | 反引号函数名 )_java_03