Kotlin的默认参数和具名参数:
默认参数
函数参数可以有默认值,当省略相应的参数时使用默认值。与其他语言相比,这可以减少
重载数量。
fun read(b: Array<Byte>, off: Int = 0, len: Int = b.size()) {
……
}
默认值通过类型后面的 = 及给出的值来定义。
覆盖方法总是使用与基类型方法相同的默认参数值。
当覆盖一个带有默认参数值的方法时,必须从签名中省略默认参数值:
open class A {
open fun foo(i: Int = 10) { …… }
}
class B : A() {
override fun foo(i: Int) { …… } // 不能有默认值
}
具名参数:调用函数时,在函数参数中给参数赋值。
简单代码:
val pi=3.14159f
fun 获取长方形的面积(长:Float,宽:Float):Float{
return 长 * 宽
}
fun 获取圆的周长(半径:Float,PI:Float=pi):Float{ //默认参数:函数参数赋值
return 2*PI*半径
}
fun main(args: Array<String>) {
var area=获取长方形的面积(3.0f,2.0f)
println(area)
var area1=获取圆的周长(半径=2.0f) //具名参数
println(area1)
}
运行结果:
6.0
12.56636