Kotlin中的解構(gòu)
Kotlin中解構(gòu)的意思是驶俊,允許一個(gè)類去拆解饼酿,然后分別賦值故俐。詳見下面的代碼:
定義個(gè)Boy類药版,使用operator關(guān)鍵字,去聲明component1() 和component2()函數(shù)
這個(gè)函數(shù)名不能修改还栓,component后面的1 和 2 的對(duì)應(yīng)就是要拆解的第一個(gè)屬性剩盒,和第二個(gè)屬性,如果有多個(gè)屬性需要結(jié)構(gòu),可以繼續(xù)增加component3() component4()等...
class Boy(var age: Int,var name: String) {
operator fun component1() = age
operator fun component2() = name
}
fun main(args: Array<String>) {
//1.首先創(chuàng)建一個(gè)Boy對(duì)象
var boy = Boy(11,"213")
//2.使用Kotlin中解構(gòu)唯灵,將boy對(duì)象解構(gòu)
//將對(duì)象中的屬性分別賦值給age和name埠帕,其中age對(duì)應(yīng) component1()函數(shù)返回的屬性
//name 對(duì)應(yīng) component2()返回的屬性
var(age,name) = boy
println("age:$age")
println("name:$name")
//解構(gòu)可用于循環(huán)Map集合
var map:Map<Int,String> = mapOf<Int,String>(1 to "111",2 to "222")
for ((k,v) in map){
println("$k ---- $v")
}
}