一元运算符
右侧
postfix operator |??
postfix func |?? (left: String?) -> String! {
return left != nil ? left : "空"
}
以上代码定义了一个新的运算符 |??
判断左侧所给出的变量是否为nil
,如果不为nil
就返回该变量,如果为nil
就返回 "空"
这时我们在使用的时候就可以
let test1, test2: String?
test1 = nil
test2 = "test2"
print(test1|??)
print(test2|??)
打印结果为
空
test2
左侧
同右侧, 将postfix
改为 prefix
二元运算符
infix operator |?|
func |?| (left: String, right: String) -> String {
return left + left + right + right
}
以上代码定义了一个新的运算符 |?|
将左侧和右侧变量分别复制两次再+
到一起
运行后结果为
空空test2test2