一段程序代码通常由常量、变量和表达式组成,之后使用一堆花括号“{}”来标识闭合并包裹着这些代码,由这对花括号包裹着的代码块就是一个闭包。闭包的表达式语法的一般形式为:
{
(参数名1:参数类型, 参数名2:参数类型 ...)->返回值类型 in
闭包函数体
return 返回值
}
闭包、尾随闭包都在注释中
//如果一个闭包没有参数和返回值,那么基本格式中的参数列表、返回值、in都可以省略掉,这就是最简单的闭包。
let simple = {
print("我就是最简单的闭包")
}
simple()
//简单闭包
let sum = {
(x:Int, y:Int)->Int
in
return x+y
}
print(sum(3,4))
// MARK: 尾随闭包
//要使用尾随闭包,则闭包必须是参数列表的最后一个参数。
//在swift中,尾随闭包是一个书写在函数括号之后的闭包表达式,函数支持将其作为最后一个参数调用,示例代码如下
func calculate(opr:String, result:(Int, Int)->Int){
switch opr {
case "+":
print("1+2=\(result(1,2))")
case "-":
print("1-2=\(result(1,2))")
default:
print("请出入+ 或 -")
}
}
calculate(opr: "+", result: {
(x:Int, y:Int)->Int
in
return x+y
})
控制台输出结果
我就是最简单的闭包
7
1+2=3