kotlin项目开发过程中遇到的几个小问题

无论在哪种编程语言里,**vararg**可变参数应该都是存在的,在kotlin里自然也不例外,本文讲述了两个有关vararg在实际使用中的方法。

vararg作为参数在函数间的传递方法

1
2
3
4
5
6
7
8
fun f1(vararg params: Any){
// do something...
}

fun f2(vaarg params2: Any){
// do something...
f1(*params2)
}

f2中调用f1的时候需要把param2作为参数传递给f1,这里需要用**进行变量传导,如果没有**,传递给f1的将是一个object,所以:

用到vararg的参数传递时,需要用***进行传导

vararg如何作为带名字的参数

为了使用默认参数值,有时候需要在函数调用中将需要改变默认值的参数用带名字的方式传入,但是vararg是个例外,必须用如下形式:

1
2
3
4
5
6
7
8
// function declaration
fun requestServerApi(url: String, timeout: Int, vararg params: Any)
......
// function invoke;
requestServerApi(url = "user/login.php",
timeout = 30,
params = *arrayOf("username", "jack", "password", "a1b3c5d6"))

这里也必须用***进行传导