閉包的語法
{
(參數(shù):類型)-> 返回類型 in
執(zhí)行邏輯
return 返回類型
}
說明 :1. 閉包主要指向函數(shù)類型
2. 閉包的參數(shù)必須和函數(shù)類型的參數(shù)和返回值一致
例子:
func GetList(array: [Int] , pre:(Int) ->Bool) -> [Int]{
var tempArray = [Int]()
for temp in array{
if pre(temp) {
tempArray.append(temp)
}
}
return tempArray
}
該函數(shù) 兩個參數(shù):數(shù)組和一個閉包 返回值是一個數(shù)組
閉包的邏輯沒有實(shí)現(xiàn) 在調(diào)用該函數(shù)的時候在實(shí)現(xiàn)
let array = GetList(array: [1,2,3,4,5,6], pre: {(number:Int ) in return number > 3})
print(array)
WX20171106-110932.png
如圖所示 調(diào)用篩選大于3的元素 條件可以隨時切換
閉包的簡寫
第一種 省略參數(shù)類型 和括號