我想在kotlin中使用嵌套对,例如"a" to {"b" to "c"}
我试过了:
"teachers" to {"a" to "c"; "c" to "d"}
但是当我调试它时,数据类型是:
(teachers, () -> kotlin.Pair<kotlin.String, kotlin.String>)
如何使用它?
如果不使用
"a" to mapOf("a" to "b"...)
有可能吗?
答案 0 :(得分:4)
{ A -> B }
是一个匿名函数,其参数为A
,正文为B
。
{ B }
是{ () -> B }
的缩写形式。
此外,
A; B
与
相同A
B
因此{"a" to "c"; "c" to "d"}
表示参数列表为()
(零参数)且正文为
Pair("a", "c")
Pair("c", "d")
等同于::noName
和
fun noName() {
Pair("a", "c")
return Pair("c", "d")
}
无论如何,代码中的大括号是什么?它们并不意味着“成对”。我认为你的意思是在python中表示一个地图(或字典),但是PAIRS不是MAPS,反之亦然。
嵌套对是这样的:"a" to ("b" to "c")
相当于Pair("a", Pair("b", "c"))
如果你想在Kotlin制作地图,你应该使用函数mapOf()
。
如果你想在Kotlin中创建一对数组,你可以像arrayOf("a" to "b", "c" to "d")
一样。
此外,数组不是地图,反之亦然。
这是(一对(字符串)和((字符串对)数组)的一个例子。
"a" to arrayOf("b" to "c", "d" to "e")