实用 AI

可在线运行 AI 集合,涵盖 AI 文案生成、写作辅助、AI 绘图与照片修复、AI 配音、字幕生成、语音转录以及 AI 视频创作和数字人等多种 AI 服务

查看详情

kotlin解构声明

深入学习Kotlin基础知识
2022-07-01 18:35 · 阅读时长3分钟
小课

解构申明可以很方便的将一个对象拆解成多个独立的变量,很多常用的编程语言都已经支持这个特性,比如JavasSript、Python等。解构申明在很多情况下可以简化代码,比如方法返回、集合遍历。

加载中...

通过解构申明,我们可以一次性将id,name,age等属性值从person对象中取出来,但是需要注意的是,它并不能像JavaScript中那样根据名称只取其中某几个属性。如果我们需要取其中几个属性,需要用_符号进行占位,比如

加载中...

看上去很神奇,它是怎么做到的呢?其实这都是kotlin编译器的功劳,上面的代码经过编译后转化成了下面这样。

加载中...

可以看出来data class在编译之后生成了componentX方法,用于实现解构声明。

函数返回值

比如上面的Person,返回可以直接用解构声明多个变量来接收返回值。

加载中...

或返回两个值

加载中...
Map遍历
加载中...

使用for loop遍历map返回的是Map.Entry<K, V>类型,kotlin为它添加了扩展方法component1component2

加载中...
kotlin解构声明