闭包:是字包含的匿名函数代码块,可以做为表达式、函数参数和函数返回值,闭包表达式的运算结果是一种函数类型。类似于 C# Lambda 表达式。
闭包表达式:
{(参数列表)->返回类型 in
语句组
}
例如:
fun calculate(opr:String)->(Int,Int)->Int{
var result:(Int,Int)->Int
swith(opr){
case "+":
result={(a:Int,b:Int)->Int in //闭包
return a+b
}
case "-": //简写
result={a,b in result a-b}
}
}