将listOf(mapOf(x,y,z))作为参数传递给Kotlin

Joh*_*ark 0 parameters kotlin

对Kotlin来说很新,并且处理一个问题,需要我将这些值作为函数的参数

(
    starting = "begin",
    target = "end",
    edges =
    listOf(
        mapOf("start" to "x", "end" to "y", "distance" to 25)
    )
}
Run Code Online (Sandbox Code Playgroud)

我有前两个好,但地图列表让我很困惑.

a(starting: String, target: String, edges: ListOf(mapOf(x,y,z)){}
Run Code Online (Sandbox Code Playgroud)

谢谢

Ily*_*lya 5

你应该将edges参数声明为

edges: List<Map<String, Any>>
Run Code Online (Sandbox Code Playgroud)

映射的第一个类型参数是键的类型,第二个是该映射中的值的类型.

Any 因为您将int和字符串作为值混合,因此需要地图值的类型.