变长参数 定义:顾名思义变长参数就是某个参数可以接受多个值;在Kotlin里面位置可以随意放,而在java里面只能做最后一个。
下面我们来一段代码展示一下效果:
fun main(args: Array<String>) {
hell(1,2,3,4,5,6,string = "Hello")
    hello(3.0,1,2,4,7,4,7,4,string = "到我了")
/**  我们传参数的时候也可以这样因为可变长参数写的麻烦的话我们可以传一个数组
  但是直接传数组的话就会报错所以有*来修饰;这个修饰符只支持展开修饰符的数组,不支持集合
*/
    val arr= intArrayOf(2,5,8,9,63,7)
    hello(3.2,*arr,string = "这样也可以")
}
//  这个方法里面的int用vararg来修饰的话就是可变长的参数,可以是多个,上面就是调去的时候参数可以随意传
fun hell(vararg int: Int,string: String){
//    遍历int的数因为他是可变长的参数
    int.forEach (::println)
    println(string)

}
//还可以这样来写
fun hello(double: Double,vararg int: Int,string: String){
//    遍历int的数因为他是可变长的参数
    int.forEach (::println)
    println(string)
    println(double)


}
以上代码就是可变长参数,估计细心的朋友可以看到上面代码里面有一个修饰符 * ;这个修饰符叫做Speread Operator 它只支持展开的Array 数组,不支持List集合,它只用于变长参数列表的实参,不能重载,它也不是运算符;