我想为 lambda 的参数使用默认值,例如:
func lambdaArgumentTest() -> String {
let lambda = { (optString: String = "") -> String in optString }
return lambda()
}
但是编译器似乎声明这是不可能的:
Default argument is only permitted for a non-curried function parameter
有解决这个问题的好方法吗?这在未来的版本中是否可行?
最佳答案
我不能说这是否会以您尝试过的方式成为可能,但看起来您可以通过使用嵌套函数来解决该错误。
func lambdaArgumentTest() -> String {
func lambda(optString: String = "") -> String {
return optString
}
return lambda()
}
关于lambda - Swift:在 lambda 中使用默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25487077/