Google IO/19-Kotlin 1.3

2年前google就确定在kotlin作为android系统的官方语言,Kotlin first。

在刚过去的google IO 2019会议上,又提出了新的kotlin特性,youtube连接如下:

https://www.youtube.com/watch?v=8rYLFD1ZfnM&list=PLWz5rJ2EKKc9FfSQIRXEWyWpHD6TtwxMM&index=6

主要内容如下:

将 when 主语捕获到变量中

原来的kotlin when使用如下:

原来Kotlin when 用法

现在可直接使用:

when 新语法

注意必须是用val,如果使用var将会发生如下情况:


when错误用法

Experimental 注解


Experimental annotation

使用该@Experimental会定义一个注解类,标志该类是实验性的,因此会报错,但是可以更改如下


这时就不会发生报错,使用场景可在于多人协作,对于一些不成熟,不稳定的API上的处理。

智能转换

然而,一旦将这些检测提取到单独的函数中,所有智能转换都立即消失了:

为了改善在此类场景中的行为,Kotlin 1.3 引入了称为 契约 的实验性机制。


关键词contract,视频中说法如下:create contracts and say that your function matches your the argument to a function match certain conditions and that basically is guaranteeing you a certain level of code correctness in your actual code

总体就是用contract来保证在实际的代码运行中,参数是匹配你的conditions的。

Json


无参的main

无符号整型类型

ifEmpty()和ifBlank()


以上是使用场景比较多的一些特性,更多请参看Google IO/19 相关视频以及官方文档。

你可能感兴趣的:(Google IO/19-Kotlin 1.3)