解构申明可以很方便的将一个对象拆解成多个独立的变量,很多常用的编程语言都已经支持这个特性,比如JavasSript、Python等。解构申明在很多情况下可以简化代码,比如方法返回、集合遍历。
通过解构申明,我们可以一次性将id,name,age等属性值从person对象中取出来,但是需要注意的是,它并不能像JavaScript中那样根据名称只取其中某几个属性。如果我们需要取其中几个属性,需要用_
符号进行占位,比如
看上去很神奇,它是怎么做到的呢?其实这都是kotlin编译器的功劳,上面的代码经过编译后转化成了下面这样。
可以看出来data class
在编译之后生成了componentX方法,用于实现解构声明。
比如上面的Person,返回可以直接用解构声明多个变量来接收返回值。
或返回两个值