如何阅读此 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) -> ()
您还会看到 only 参数是闭包的情况,例如数组上的 map()
方法。在这些情况下,括号可以完全省略,闭包写在紧跟在函数名后面的花括号中,例如:
let lowerCasedWords = arrayOfWords.map{ [=10=].lowercased() }
我正在使用 Vapor,第一件事就是使用如下所示的 get 方法:
drop.get("hello") { request in
return "Hello, world!"
}
现在我的理解是闭包就像函数类型的变量。正确的?在这里,我看到我们在 Droplet
class 的实例上调用方法 get
调用 drop 并传入一个字符串。
get 方法体内的闭包 called/passed 是什么?我该如何阅读?
这称为尾随闭包语法。如果一个函数的最后一个参数是一个闭包,它可以放在紧跟在前一个参数周围的右括号之后的花括号中。
这里的 get
方法有两个参数:一个 String
和一个带有一些签名的闭包,比如 (Request) -> ()
您还会看到 only 参数是闭包的情况,例如数组上的 map()
方法。在这些情况下,括号可以完全省略,闭包写在紧跟在函数名后面的花括号中,例如:
let lowerCasedWords = arrayOfWords.map{ [=10=].lowercased() }