函数是第一等类型,解释:一等函数:将函数像值一样传递被称为“一等函数(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)
