5.Unit、Nothing、Any的区别

一:Nothing

 在Kotlin类型层次结构的最底层就是类型 Nothing


 二:Unit与Nothing之间的区别:

Unit类型表达式计算结果的返回类型是Unit。

Nothing类型的表达式计算结果是永远不会返回的(跟Java 中的 void 相同)。

 Nothing是没有实例的。您可以使用Nothing来表示“一个不存在的值

如果一个函数的返回类型为Nothing,这意味着它永远不会返回(总是抛出异常)

Nothing? 它唯一允许的值是 null ,被用作任何可空类型的空引用。

Unit类型表达式计算结果返回值是Unit;Unit类型实现了与java中void一样的功能。

Java语言的void关键字(void是 无参数返回的  )   他是关键字啊,不是类型

 Unit不写可省略,默认也有,Unit代表  无参数返回的 忽略类型(Unit类型类)

当一个函数没有返回值的时候,我们用Unit来表示这个特征,而不是null,大多数时候我们不需要显示地返回Unit,


//Unit : 无返回值,可省略
// Kotlin 中Unit类型实现了与java中void一样的功能。
fun test11(): Unit {}    //kotlin.Unit
fun test12() {}          //kotlin.Unit
 fun unitExample():kotlin.Unit {
        println("test,Unit")
    }
    fun unitExample(){
        println("test,Unit")
        return kotlin.Unit
    }
    fun unitExample(){
        println("test,Unit")
    }

三:Any? 是整个类型体系的顶部, Nothing 是底部


fun main(args: Array<String>) {
    fail("Error occurred")
}

fun fail(message:String):Nothing{
    throw IllegalStateException(message)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值