开括号后的参数

Parameters after opening bracket

我正在 Vapor 中迈出第一步,这是 Swift 的 Web 框架。

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

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

我不明白这里的语法。我的意思是,我正在调用 app.get() 方法,但我也在定义某种函数,其中请求是一个参数。我知道这将导致 /welcome URL 和 return "Hello" 可访问的 get 方法。我不清楚这段代码是如何工作的以及编译器如何解释它。

这叫做trailing closure syntax

我在 .

中详细介绍了闭包的各种语法糖

此代码的扩展版本为:

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