第六章 Kotlin之解构声明

有时把一个对象解构成很多变量会很方便,例如:

val (name , age) = person

这种语法称为解构声明。一个解构声明同时创建多个变量,并且可以独立使用它们:

println( "$name, $age")

一个解构声明可以被编译成如下代码:

val name = person.component1()

val age = person.component2()

在实际开发中,我们偶尔会需要一个函数有两个返回值,例如:一个结果对象和一个某种状态,在Java中,我们可能会选择Object数组完成该功能,调用处进行相应的强转,或者定义一个实体类,比较麻烦。在Kotlin中一个更为简洁的实现方式是声明一个数据类并返回其对象:

代码语法、逻辑都比较简单,不多做解释,有个小的注意点,如果解构声明中你不需要某个变量,可以使用下划线取代其名称:

如:val (_ , ss) = testDataBean()

自Kotlin1.1起,在lambda中也支持解构语法,如下面的实例代码,遍历map:

val vvv = map2.mapValues{(key,v)->"$key$v"}

val vvvv = map2.mapValues{entry:Map.Entry<String,Any>->"${entry.key} ${entry.value}"}

println(vvv)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容