kotlin学习笔记-Nothing

用作函数的返回值, 【强调】 这个函数不返回任何东西

NothingUnit 区别

那作为返回值的时候 NothingUnit 区别在哪里呢?

我这样理解的:

Unit 我不返回什么,轻描淡写

Nothing 强调,强调我什么都不返回,强调

Nothing 场景

适用于那种 要特别强调,我什么都不返回的场景

1、你封装了一个 异常类,这个异常类是不是相对于其他无返回值的函数来说,要更强调自己没有返回值?

2、有个函数,内部有个无限循环,执行某种守护操作, 那么这个函数是不是也没有返回值,也要强调自己没有返回值

Nothing 为什么要【强调】自己什么都不返回?

官方说,针对 Nothing 修饰的函数, kotlin会做一些优化,据说是可以让程序跑的更快???(我保持怀疑态度)

官方文档里看的有些懵逼

目前似乎更偏向语义化 ,类似在html里,你可以用 div标签来装标题,, 也可以用 h1标签在装标题,但 h1的语义更强,更适合装标题

Nothing 相对于 Unit 在语义上,更强调自己没有返回值

我现在就这点理解了,也许以后水平变高,会有新理解

暂时这样吧

使用建议

能用 Nothing 就用吧 ,官方都这么说了