13. 具名参数,变长参数,默认参数

13. 具名参数,变长参数,默认参数_第1张图片
Kotlin
具名参数

给函数的实参附上形参,顺序可以任意调整。

fun main(args: Array) {

    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);
}
  • 为函数参数指定默认值
  • 可以为任意位置的参数指定默认值
  • 传参时,如果有歧义,需要使用具名参数

你可能感兴趣的:(13. 具名参数,变长参数,默认参数)