在kotlin中输入列表作为函数的默认值

时间:2019-06-20 22:54:59

标签: list kotlin

我在kotlin中定义了函数“ fireAtTarget”。作为参数,我需要为列表插入一个默认值。我怎样才能做到这一点?

fun fireAtTarget(massKg: Double=80.2, eachGunAmmo: List<Int>=listOf(2, 3): Boolean{

       //function body

  }

我希望在不带参数的情况下调用fireAtTarget()并获得0条错误消息

3 个答案:

答案 0 :(得分:0)

您的代码中存在语法错误:您只是忘了在函数参数声明中关闭右括号:

fun fireAtTarget(massKg: Double=80.2, eachGunAmmo: List<Int> = listOf(2,3)): Boolean {
       //function body
}

答案 1 :(得分:0)

我遇到此问题(IntelliJ报告错误Expecting a top level declaration),代码如下:

fun foo(value: List<Int>=listOf(1,2)) { }

此问题已通过在等于List<Int>*space*=listOf之前插入空格来解决。

fun foo(value: List<Int> = listOf(1,2)) { }

Kotlin语言有一个>=运算符,可能会与原始运算符混淆。

请参阅:https://kotlinlang.org/docs/reference/operator-overloading.html#comparison

答案 2 :(得分:0)

您可以使用以下默认值创建列表:

val defaultValueList = List<String>(10) {"I am default"}