有一種常見的三元運算符用法如下:
NSString *aString = nil;
NSString *outString;
outString = aString ? aString : @""; //=> outString: ""
aString = @"Hello";
outString = aString ? aString : @""; //=> outString: "Hello"
對於這種三元運算符用法,GCC C Extension 增加了可省略中間運算式的 ?: 運算符來縮短這種寫法,用法如下:
NSString *aString = nil;
NSString *outString;
outString = aString ?: @""; //=> outString: ""
aString = @"Hello";
outString = aString ?: @""; //=> outString: "Hello"
我在《 Java 程序員修煉之道》這本書裡看到這種運算符稱作貓王運算符(Elvis operator)
:
因為這個符號看起來明顯很像貓王鼎盛時期梳的大背頭
重點來了,我寫這篇筆記只是想說:貓王運算符這個名字真是太可愛了! >////<