Swift 面试题
目录

Swift 中如何将函数作为参数传递?

· 约 2 分钟读完 · 第 42 / 196 章

推荐答案

在 Swift 中,函数可以作为参数传递给另一个函数。你可以将函数类型作为参数类型,并在调用时传递具体的函数。以下是一个简单的示例:

在这个示例中,executeFunction 函数接受一个类型为 (String) -> Void 的函数作为参数,并在内部调用该函数。

本题详细解读

1. 函数类型

在 Swift 中,函数类型由参数类型和返回类型组成。例如,(String) -> Void 表示一个接受 String 类型参数且不返回任何值的函数类型。

2. 将函数作为参数传递

你可以将函数类型作为另一个函数的参数类型。在上面的示例中,executeFunction 函数的第一个参数是一个函数类型 (String) -> Void,这意味着它可以接受任何符合该类型的函数。

3. 调用传递的函数

在 executeFunction 函数内部,你可以像调用普通函数一样调用传递进来的函数。传递的函数会在 executeFunction 内部执行。

4. 闭包作为参数

除了命名函数,你还可以传递闭包作为参数。例如:

在这个例子中,我们传递了一个匿名闭包作为参数,闭包的功能与之前的 greet 函数类似。

5. 应用场景

将函数作为参数传递在 Swift 中非常常见,尤其是在处理回调、高阶函数(如 map、filter、reduce)以及异步操作时。这种模式使得代码更加灵活和可复用。