13. 具名参数,变长参数,默认参数
2019-11-18 本文已影响0人
努力生活的西鱼
Kotlin
具名参数
给函数的实参附上形参,顺序可以任意调整。
fun main(args: Array<String>) {
sum01(arg1 = 3,arg2 = 5);
}
fun sum01(arg1:Int,arg2: Int):Int {
return arg1 + arg2;
}
变长参数
- 某个参数可以接收多个值
- 可以不为最后一个参数
- 如果传参时有歧义,需要使用具名参数
- 只支持展开Array
- 只用于变长参数列表的实参
- 不能重载
fun main(vararg args: String) {
hello(3.0,1, 3, 5, 7, string = "hello");
// *array: 代表将数组展开,只适用于数组,不适用于list
val array: IntArray = intArrayOf(2,4,6,8);
hello(4.0,*array,string = "world");
}
fun hello(double: Double,vararg ints: Int, string: String): Unit {
ints.forEach(::println);
println(string);
}
默认参数
fun main(vararg args: String) {
hello(3.0,*array);
}
fun hello(double: Double,vararg ints: Int, string: String="hello"): Unit {
ints.forEach(::println);
println(string);
}
- 为函数参数指定默认值
- 可以为任意位置的参数指定默认值
- 传参时,如果有歧义,需要使用具名参数