Kotlin函数 ② ( Unit 函数 | TODO 函数抛出异常返回 Nothing 类型 | 反引号函数名 )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin函数 ② ( 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")
执行结果 :
以上是关于Kotlin函数 ② ( Unit 函数 | TODO 函数抛出异常返回 Nothing 类型 | 反引号函数名 )的主要内容,如果未能解决你的问题,请参考以下文章
kotlin入门知识点总结 常量,条件语句,String,方法,UNIT函数和NOTHING函数
测试是否调用通过函数参数传递的函数(Android / Kotlin))