文章目录

闭包(closure)包含了可执行程序(跟方法主体(statements)类似)以及接收(capture)的参数,格式如下

1
2
3
{(parameters) -> return type in
statements
}
  • 闭包可以省略参数的类型和返回值的类型,如果省略了参数类型也要省略in关键字
  • 闭包省略参数,可以使用$0,$1,$2……来引用出现的第一个、第二个、得三个……参数
  • 如果闭包只包含一个表达式,那么表达式就会自动成为该闭包的返回值
1
2
3
4
5
6
7
8
9
10
11
12
13
func1 {
(x:Int,y:Int) -> Int in
return x + y
}

func2 {
(x,y) in
return x + y
}

func3 {return $0 + $1}

func4 { $0 + $1 }
文章目录