fun main(){
//不能调用 01 - 04
var method01: () -> Unit
var method02: (Int,Int) -> Int
var method03: (String,Double) -> Any?
var method04: (Int,Double,Long,String?) -> Boolean
//lambda
var m06 : (Int,Int) -> Int = {num1,num2 -> num1 + num2}
println("m06:${m06(9,9)}")
var m07 = { num1: Int,num2: Int -> num1 + num2 }
println("m07:${m07(1,3)}")
var m08 : (String,String) -> Unit = {aStr,bStr -> print("a:${aStr},b:$bStr")}
m08("a","b")
var m09: (String) -> String = {str -> str }
var m10 : (Int) -> Unit = {
when(it){
1 -> println("你是一")
in 20..30 -> println("20 to 30")
else -> println("其他")
}
}
var m11 : (Int,Int,Int) -> Unit = { n1,n2,n3 ->
println("n1:$n1")
}
var m12 = { println("我是M12") }
var m13 = {sex: Char -> if(sex == 'M') "男" else "女"}
println("m13:${m13('M')}")
//覆盖
var m14 = {num1 : Int -> println("我是m14")}
m14 = { println("覆盖 $it")}
m14(99)
//有返回值
var m15 = { num: Int -> println("打印${num}")
num
}
}
网友评论