打开括号后的参数

时间:2016-11-14 15:42:00

标签: swift parameters vapor

我正在开发Vapor的第一步,这是Swift的Web框架。

引起我注意的第一段代码是:

app.get("welcome") { request in 
    return "Hello"
}

我不懂这里的语法。我的意思是,我正在调用app.get()方法,但我也在定义某种函数,其中request是一个参数。我知道这会导致/welcome URL可以访问get方法,并返回“Hello”。对我来说不清楚的是这段代码如何工作以及编译器如何解释它。

1 个答案:

答案 0 :(得分:4)

这称为trailing closure syntax

我在this answer中给出了闭包的各种句法糖的简要概述。

此代码的扩展版本为:

app.get("welcome", { (request: Request) throws -> ResponseRepresentable in 
    return "Hello"
})