如何阅读此 Swift 语法?

How do I read this Swift syntax?

我正在使用 Vapor,第一件事就是使用如下所示的 get 方法:

drop.get("hello") { request in
    return "Hello, world!"
}

现在我的理解是闭包就像函数类型的变量。正确的?在这里,我看到我们在 Droplet class 的实例上调用方法 get 调用 drop 并传入一个字符串。

get 方法体内的闭包 called/passed 是什么?我该如何阅读?

这称为尾随闭包语法。如果一个函数的最后一个参数是一个闭包,它可以放在紧跟在前一个参数周围的右括号之后的花括号中。

这里的 get 方法有两个参数:一个 String 和一个带有一些签名的闭包,比如 (Request) -> ()

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html#//apple_ref/doc/uid/TP40014097-CH11-ID102

您还会看到 only 参数是闭包的情况,例如数组上的 map() 方法。在这些情况下,括号可以完全省略,闭包写在紧跟在函数名后面的花括号中,例如:

let lowerCasedWords = arrayOfWords.map{ [=10=].lowercased() }