我如何使用?:在Swift中?

Ben*_*ero 4 ternary-operator infix-operator swift2

我喜欢Objective-C中的这种语法:

NSString const name = [self getName] ?: @"backup";
Run Code Online (Sandbox Code Playgroud)

我想在Swift中使用相同的东西,但是当我尝试时我得到了这个:

<code> let name = getName()?:会导致编译器完全无法识别语法的错误">

在Swift中有什么办法吗?如果没有,我可以编写一个自定义的infox运算符吗?

Ben*_*ero 6

它被称为null(或nil)合并运算符,Swift语法是:

let name = getName() ?? "backup";
Run Code Online (Sandbox Code Playgroud)