1 Star 0 Fork 2

chenjim / kotlin-for-android-developers-zh

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
ying_she_dui_xiang_dao_bian_liang_zhong.md 777 Bytes
一键复制 编辑 原始数据 按行查看 历史

映射对象到变量中

映射对象的每一个属性到一个变量中,这个过程就是我们知道的多声明。这就是为什么会有componentX函数被自动创建。使用上面的Forecast类举个例子:

val f1 = Forecast(Date(), 27.5f, "Shiny day")
val (date, temperature, details) = f1

上面这个多声明会被编译成下面的代码:

val date = f1.component1()
val temperature = f1.component2()
val details = f1.component3()

这个特性背后的逻辑是非常强大的,它可以在很多情况下帮助我们简化代码。举个例子,Map类含有一些扩展函数的实现,允许它在迭代时使用key和value:

for ((key, value) in map) {
	Log.d("map", "key:$key, value:$value")
}
1
https://gitee.com/chenjim/kotlin-for-android-developers-zh.git
git@gitee.com:chenjim/kotlin-for-android-developers-zh.git
chenjim
kotlin-for-android-developers-zh
kotlin-for-android-developers-zh
master

搜索帮助