闭包
闭包是用大括号括起来的,可以没有名字的函数类型的实例。闭包有三种形式:
- 全局函数:具名函数,但不捕获任何值
- 嵌套函数:在函数内部嵌套定义具名函数,可捕获包含函数中的值。
- 闭包表达式:匿名函数类型的实例,不具名代码块,可捕获上下文中的值。
闭包是引用类型,闭包变量的拷贝具有引用语义。闭包和函数实例具有同样的内存模型。
表达式:
{
(参数列表1,参数列表2,...)->(返回值) in
函数体执行的内容
}
示例:
var closure = {
(number1:Int,number2:Int)->Bool in
if number1>number2 {
return true
}else{
return false
}
}
print("\(closure(1,2))")
运行结果&#x