学习学习之鸿蒙&Android

用 Kotlin 写 Android 15—解构声明

2021-06-27  本文已影响0人  jkwen

解构声明

允许你展开一个复合值,从而可以一次性初始化多个变量。

之前遇到一个场景,两个数据对象进行赋值转换,实现上没有想到什么比较好的方法,只好一个字段一个字段的对照着赋值,

ClzB b = new ClzB();
b.var1 = a.var1;
b.var2 = a.var2;
b.var3 = a.var3;
//如果有多个值就这样依次赋值,搞得代码都很难看
//当然也可以通过构造方法传参,但依然不太好看

解构声明就可以运用在这个场景。另外一个类似的场景,就是用在函数返回上,有些时候需要返回多个值,这种情况其实可以利用 Pair,但如果 3 个或者多个,则可以利用自定义数据类型加解构。

它所用到的符号是(),对应的函数名是 componentN, N 就是位置的坐标,例如 component1 就表示 () 内的第一个变量对应的解构。所以如果 (x, y, z) 那么就要对应 component1, component2, component3。

最后一种场景就是在循环遍历里的运用。典型的就是 Map 遍历,

for((key, value) in map) {
    //在 kotlin 里可以利用解构对 map 进行元素的遍历
}

解构声明的优点在于可以简化多变量赋值以及组合元素的遍历,在需要的场景上用起来还是有点好处的。

参考内容

「Kotlin 实战」

上一篇下一篇

猜你喜欢

热点阅读