閉包的語法
{
(參數:類型)-> 返回類型 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)
WX20171106-110932.png
如圖所示 調用篩選大于3的元素 條件可以隨時切換
閉包的簡寫
第一種 省略參數類型 和括號