Swift:在字符串文字中提供默认值

Swift: Provide default value inside string literal

我将为可选字符串提供默认值,该字符串作为参数放置在字符串文字中(如果我使用了正确的关键字!)。 我想知道如何使用“??”为其设置默认值运算符?

我想我应该在双引号之前使用转义字符,但我不知道什么是正确的语法。 这是导致错误的语法:

print ("Error \(response.result.error ?? "default value") ")
//------------------------ what should be ^here^^^^^^^^

您必须字面意思用您的信息替换default value

无需转义双引号,因为您在 \(<expression>) 中(更多关于 Swift 的字符串插值 here

如果您需要更简洁的方法,请分两步进行:

let msg = response.result.error ?? "whatever"
print("Error: \(msg)") 

最后,如果您只想打印非零错误(避免记录未产生任何错误的响应),您可以这样做:

if let error = response.result.error { print("Error: \(error)") }

只需将其括在括号中即可:

print("Error \((response.result.error ?? "default value"))")

更简洁的方法是使用@Alladinian answer 并在打印之前将字符串放入变量中