闭包的语法
{
(参数:类型)-> 返回类型 in
执行逻辑
return 返回类型
}
说明 :1. 闭包主要指向函数类型
2. 闭包的参数必须和函数类型的参数和返回值一致
例子:
func GetList(array: [Int] , pre:(Int) ->Bool) -> [Int]{
var tempArray = [Int]()
for temp in array{
if pre(temp) {
tempArray.append(temp)
}
}
return tempArray
}
该函数 两个参数:数组和一个闭包 返回值是一个数组
闭包的逻辑没有实现 在调用该函数的时候在实现
let array = GetList(array: [1,2,3,4,5,6], pre: {(number:Int ) in return number > 3})
print(array)
如图所示 调用筛选大于3的元素 条件可以随时切换
闭包的简写
第一种 省略参数类型 和括号