Kotlin 里所有东西都有类型:对象、函数…… 同样,“没有东西”也有类型:Nothing

Kotlin 里没有 void,所有函数都有返回类型。

所有不显式声明返回类型的函数都会返回 Unit 类型

虽然 Unit 经常与 Java 中的 void 相比较,两者概念也相当相似,但确实是两回事。Unit 是一个真正的类,继承自 Any 类,只有一个值,也就是所谓的“单例”(目的在于函数返回 Unit 时避免分配内存)。正因为 Unit 是一个普通的对象(这里指用 object 关键字定义的单例类型),所以可以调用它的 toString() 方法:结果一定是 "Kotlin.Unit",因为 源代码 里已经写死了。

文章翻译:Kotlin 中的 Nothing 和 Unit - 知乎

Kotlin 中的 Unit相关推荐

  1. Kotlin 中infix,inline,noinline,crossinline ,refied 等的理解

    1. infix 的作用 infix 标示的函数可以使用中缀表示法, 中缀表示法就是在写法上可以忽略 . 与 ()并且必须满足三个条件 必须是成员函数或者扩展函数 必须只有一个参数 其参数不能有可变参 ...

  2. Kotlin返回值Unit、Nothing与Any

    Unit类型 Kotlin也是面向表达的语言.Kotlin中Unit类型实现了与java中void一样的功能. public object Unit {// Unit类型是一个object对象类型ov ...

  3. Kotlin 中的 run、let、with、apply、also、takeIf、takeUnless 语法糖使用和原理分析

    这些Kotlin的语法糖函数经常用,但也很容易搞混,所以转载一下,若混了可以回来再看 转载自公众号:纸上浅谈 正文: 在 Kotlin 有一些可以简化代码的语法糖,比如 run.let.with.ap ...

  4. android builder模式 插件,如何在Kotlin中实现Builder模式?

    首先,在大多数情况下,您不需要在Kotlin中使用构建器,因为我们有默认和命名参数 . 这使您可以写 class Car(val model: String? = null, val year: In ...

  5. kotlin 中 lambda 表达式的 return 行为

    kotlin 带来了许多新的语法(糖?),同时也带来了许多懵逼的地方,看 <kotlin 实战>一书时就被各种 return 的行为搞懵逼了. 在 lambda 表达式中,如果没有显式的 ...

  6. Kotlin中的高阶函数

    博客地址sguotao.top/Kotlin-2018- 在Kotlin中,高阶函数是指将一个函数作为另一个函数的参数或者返回值.如果用f(x).g(x)用来表示两个函数,那么高阶函数可以表示为f(g ...

  7. kotlin中的异常处理_Kotlin异常处理

    kotlin中的异常处理 In this tutorial, we'll be discussing Exception Handling in Kotlin. 在本教程中,我们将讨论Kotlin中的 ...

  8. Kotlin中变量不同于Java: var 对val(KAD 02)

    原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02) 作者:Antonio Leiva 时间:Nov 28, 201 ...

  9. Kotlin 中的 appy和with方法

    Kotlin 中的 appy和with方法 apply apply:Calls the specified function block with this value as its receiver ...

  10. 教你如何完全解析Kotlin中的类型系统

    简述: 已经很久没有更新文章,这大概是2019年第二篇文章了,有很多小伙伴们都在公众号留言说是不是断更了.是不是跑路了.在这里统一回复下我还好,并没有跑路哈,只是在思考接下来文章主要方向在哪? 如何在 ...

最新文章

  1. 11.2.0.2 HAIP
  2. Microsoft Speech Platform
  3. 别以为if slse很简单——决策树
  4. 通过创建一个位图的XY Chart来学习Android绘图类Rect,Paint,Bitmap,Canvas(附源码)
  5. css颜色跟背景总结(内含实例及截图)
  6. 标准ASCII编码表
  7. 2017NOIp模拟赛08.20
  8. 【资源】公开的电子书 合集 (计算机相关、多高清、pdf)
  9. 打开Office软件时的错误-----隐含模块中的编译错误:autoexecnew
  10. 计算机语言圆周率,使用Java如何计算圆周率
  11. 乐高大颗粒作品14:导弹发射车
  12. Farmer John的故事
  13. 攻防世界pwn——forgot
  14. 杂文:创新,淘宝,马云,阿里,美国,工商局,假货
  15. 用好商品说话、为消费者服务、为全行业赋能:值得买科技618战报发布
  16. 3D点云配准算法-4PCS(4点全等集配准算法)
  17. 比标准Attention快197倍!Meta推出多头注意力机制“九头蛇”
  18. 修改deepin20.4窗口特效魔灯的动画时长
  19. 音乐在html中连续播放,怎么让PPT中背景音乐在多个页面中连续播放
  20. (附源码)php在线考试系统 毕业设计 032028

热门文章

  1. Aras innovator: 如何制作一个itemtype的BOM结构
  2. blk-mq 进行多重队列
  3. 用户体验 | 银行如何优化APP用户体验
  4. 小程序性能和体验优化方法
  5. WinForm下多层架构的实现
  6. 推荐系统(一):不了解推荐系统,基本在被out的队列,岌岌可危
  7. Ubuntu连接WIFI并开启热点
  8. CSS学习03:CSS文本属性
  9. HTML5+CSS3初学尝试(小米官网首页)
  10. 学习笔记之——针孔相机模型及单应性矩阵