函数的声明
Kotlin中使用fun关键字声明一个函数:
fun double(x: Int): Int {
return 2*x
}
函数用法
使用传统的方式调用函数:
val result = double(2)
使用”.”调用成员函数:
Sample().foo() // 创建Sample的类,调用foo方法
参数
函数参数使用帕斯卡方式定义,例如:名称:类型;参数之间使用逗号分隔开。每个参数必须被明确的声明类型。
fun powerOf(number: Int, exponent: Int) {
...
}
参数默认值
函数的参数可以有默认值,在对应的参数被省略时使用。与其他语言相比,这减少了重载的次数。
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) { ... } // no default value allowed
}
如果一个有默认值的参数在一个没有默认值参数的前面,通过显示地列举出要赋值的参数,有默认值的参数将会被赋值。
fun foo(bar: Int = 0, baz: Int) { /* ... */ }
foo(baz = 1) // The default value bar = 0 is used
但是如果函数最后一个参数是lambda表达式,