Kotlin学习之解构声明

data class MyResult(val result: String, val status: Int)

fun myMethod(): MyResult {
    return MyResult("Success", 1)
}

 常规的使用方法

 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main21)
        val myResult = myMethod()
        myResult.result
        myResult.status
    }

使用解构声明

      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main21)
        val (result, status) = myMethod()
        println(result)
        println(status)
    }

解构声明在map中的具体使用

   val map = mapOf<String, String>("a" to "aa", "b" to "bb", "c" to "cc")
        for ((key, value) in map) {
            println("key:$key,value:$value")
        }
map.mapValues { entry -> "${entry.value} hello" }.forEach { println(it) }

 map.mapValues { (key, value) -> "$value world" }.forEach { println(it) }

 没有用到key,可以用下划线表示

map.mapValues { (_, value) -> "$value welcome" }.forEach { println(it) }

 Kotlin允许我们为解构声明整体指定好类型,也可以为每一个具体的component指定类型

map.mapValues { (_,value):Map.Entry<String,String> -> "$value person" }.forEach { println(it) }

 为每一个具体的component指定类型

 map.mapValues { (_, value: String) -> "$value person" }.forEach { println(it) }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值