函数参数的动态数量

时间:2019-10-10 10:03:43

标签: android kotlin

我想创建一个具有动态数量参数的函数

example :- 
foo("a","b","c","d")
foo("a","b")
foo("a","b","c")

但我不想使用数组或列表

3 个答案:

答案 0 :(得分:3)

您可以使用vararg

尝试这样

fun foo(vararg input: String){
    for (item in input) {
        print(item)
    }
}
foo("a","b","c","d")
foo("a","b")
foo("a","b","c")

变量允许用户传递comma-separated的{​​{1}}列表,arguments(data type should be same)compiler变成automatically wrap

答案 1 :(得分:0)

像这样声明您的方法:

fun foo(vararg args: String) {
    //TODO
}

答案 2 :(得分:0)

vararg关键字(类似于Java中的...)用于可变数量的参数。

vararg还支持 spread 运算符。所以你可以做到

val abc = listOf("a", "b", "c") foo("x", "y", "z", *abc, "p", "q", "r") // x,y,z,a,b,c,p,q,r作为参数