Kotlin學(xué)習(xí)筆記三 (高級特性)

Kotlin中的解構(gòu)

Kotlin中解構(gòu)的意思是,允許一個類去拆解,然后分別賦值。詳見下面的代碼:
定義個Boy類,使用operator關(guān)鍵字,去聲明component1() 和component2()函數(shù)
這個函數(shù)名不能修改,component后面的1 和 2 的對應(yīng)就是要拆解的第一個屬性,和第二個屬性,如果有多個屬性需要結(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)建一個Boy對象
    var boy = Boy(11,"213")
    //2.使用Kotlin中解構(gòu),將boy對象解構(gòu)
    //將對象中的屬性分別賦值給age和name,其中age對應(yīng) component1()函數(shù)返回的屬性
    //name 對應(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")
    }

}



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容