swift3.0自定義運算子
阿新 • • 發佈:2019-02-17
一元運算子
右側
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