kotlin中的嵌套对数组
我想在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"...)
可能吗?
{ A -> B }
是一个匿名函数,其参数是A
,body是B
{ B }
是{ () -> B }
的简写形式。
此外,
A; B
是相同的
A B
因此{"a" to "c"; "c" to "d"}
{"a" to "c"; "c" to "d"}
是指参数列表是()
(零参数)和body是一个函数
Pair("a", "c") Pair("c", "d")
这相当于类似::noName
东西
fun noName() { Pair("a", "c") return Pair("c", "d") }
无论如何,你的代码中的大括号是什么? 他们不是指“双”。 我想你的意思是代表一个地图(或字典)在Python中,但对不是地图,反之亦然。
嵌套对是这样的: "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")