函数是第一等类型,解释:一等函数:将函数像值一样传递被称为“一等函数(first order functions))
1丶函数可以作为另一个函数的返回值。
func makeIncrementer() ->((Int) -> Int) {
func addOne(number: Int) -> Int {
return 1 + number
}
return addOne
}
初始化当前函数, increment为当前函数的返回值,也是一个函数
var increment = makeIncrementer()
在increment函数中传入值
let result = increment(7)
结束
print(result)
2丶函数也可以当做参数传入另一个函数。
func hasAnyMatches(list:[Int], condition:(Int) -> Bool) ->Bool {
for item in list {
if condition(item) {
return true;
}
}
return false;
}
func lessThanTen(number: Int) ->Bool {
return number < 10
}
let number = [8, 9, 10, 11]
let result = hasAnyMatches(list: number, condition: lessThanTen)
执行顺序:先遍历 number 为 item , 在将item 传入第二个函数 condition 获取结果
print(result)