我想创建一个具有动态数量参数的函数
example :-
foo("a","b","c","d")
foo("a","b")
foo("a","b","c")
但我不想使用数组或列表
答案 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作为参数