将函数作为参数传递给另一个函数,从而创建一个高阶函数

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 }))