将函数作为参数传递给另一个函数,从而创建一个高阶函数
func multiply2(item: Int)-> Int
{
return (item + 2)
}
let multiply2ToMe = multiply2
// passing the function directly to the function as param
print(math.performOperation(inputArray: arrayToBeProcessed, operation: multiply2ToMe))
输出:
[3, 5, 7, 9, 11, 13, 10, 8, 6, 4, 102]
类似地,使用 closure
可以实现上述目的
// passing the closure directly to the function as param
print(math.performOperation(inputArray: arrayToBeProcessed, operation: { $0 * 2 }))