函数定义
fun sum(a: Int, b: Int): Int { // Int 参数,返回值 Int
return a + b
}
表达式作为函数体,返回类型自动推断:
fun sums(a: Int, b: Int) = a + b
public fun sumss(a: Int, b: Int): Int = a + b // public 方法则必须明确写出返回类型
Log.e("sums(3,4)=",sums(3,4).toString())
Log.e("sumss(5,6)=",sumss(5,6).toString())
无返回值的函数(类似Java中的void):
// 如果是返回 Unit类型,则可以省略(对于public方法也是这样):
public fun printSums(a: Int, b: Int):Unit {
Log.e("printSummss",(a*b).toString())
}
fun printSummss(a:Int,b:Int){
Log.e("printSummss",(a*b).toString())
}
可变长参数函数
fun vars(vararg v:Int){
for(vt in v){
Log.e("vars==",vt.toString())
}
}
//调用
vars(1,2,3,4,5)
vars(6,7,8,9,0)
lambda(匿名函数)
var sumLambda:(Int,Int) -> Int = {x,y -> x+y}
Log.e("sumLambda=",sumLambda(1,2).toString())