Kotlin的变长参数

Posted zq_Hero

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin的变长参数相关的知识,希望对你有一定的参考价值。

变长参数 定义:顾名思义变长参数就是某个参数可以接受多个值;在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集合,它只用于变长参数列表的实参,不能重载,它也不是运算符;

以上是关于Kotlin的变长参数的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin的变长参数

Kotlin的变长参数

Python的变长参数

小白学Lua之Lua变长参数和unpack函数

Java语法糖初探--变长参数

Unix环境高级编程编写变长参数函数