一尘不染

开括号后的参数

swift

我正在Swift的Web框架Vapor中进行我的第一步。

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

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

我在这里不了解语法。我的意思是,我在调用app.get()方法,但是我也在定义一种将请求作为参数的函数。我知道这将导致通过/welcomeURL
可访问的get方法并将返回“ Hello”。对我来说不清楚的是这段代码如何工作以及编译器如何解释它。


阅读 247

收藏
2020-07-07

共1个答案

一尘不染

这称为尾随闭包语法

在这个答案中,我给出了各种闭包的语法糖的简要介绍。

此代码的扩展版本为:

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