文章目录
- 一、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
二、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)
三、反引号函数名
Java 的函数名要求 :
- 只能由 字母数字下划线 构成
- 首字母并不能是数字
- 不能是关键字
Kotlin 中 函数名 可以使用 空格 , 特殊字符 , 关键字 , 前提是 该函数名 必须使用 反引号 ;
注意 Kotlin 和 Java 中的关键字不同 , 不管是哪个语言的关键字 , 都不能作为函数名 , 但是如果将关键字 使用反引号 括起来 , 就可以使用其作为函数名 ;
代码示例 :
fun main() {
`~!@# Hello World %^&*`()
}
fun `~!@# Hello World %^&*`(){
println("Hello World")
}
执行结果 :