下面是代码:如何在if条件中使用尾随封闭?
class Person {
}
func lastNameForPerson(person: Person, caseFolding: ((String)->(String))? = nil) -> String {
if let folder = caseFolding {
return folder("Smith")
}
return "Smith"
}
print(lastNameForPerson(Person())) // Prints "Smith"
print(lastNameForPerson(Person()) {$0.uppercaseString}) // Prints "SMITH"
if "SMITH" == lastNameForPerson(Person()) {$0.uppercaseString} {
print("It's bob")
}
期待得到“这是鲍勃”。而是得到了错误:
Consecutive statements must be separated by a new line
在第二个代码块中,当调用该函数时,您忘记了参数'caseFolding'的名称。目前它不编译 –
谢谢,纠正。 – Clashsoft
太棒了,这是一个非常全面的答案:+1 –