1>運算符術(shù)語
運算符有一元梅垄、二元和三元運算符.
一元運算符對單一操作對象操作(如-a).一元運算符分前置運算符和后置運算符,前置運算符需緊跟在操作對象之前(如!b)侧戴,后置運算符需緊跟在操作對象之后(如i++)蒸绩。
二元運算符操作兩個操作對象(如2 + 3)骤菠,是中置的,因為它們出現(xiàn)在兩個操作對象之間己沛。
三元運算符操作三個操作對象慌核,和 C 語言一樣距境,Swift 只有一個三元運算符,就是三目運算符(a ? b : c)垮卓。
2>賦值運算符
C 語言和 Objective-C 不同垫桂,Swift 的賦值操作并不返回任何值。所以以下代碼是錯誤的:
if a = b {
// 此句錯誤, 因為 a = b 并不返回任何值
? ? ? ? ? ? ?}
這個特性使你無法把(==)錯寫成(=)扒接,由于if a = b是錯誤代碼伪货,Swift幫你避免此類錯誤的的發(fā)生。
3>求余運算符
求余運算(a % b)是計算b的多少倍剛剛好可以容入a钾怔,返回多出來的那部分(余數(shù))碱呼。在對負數(shù)b求余時,b的符號會被忽略宗侦。這意味著a % b和a % -b的結(jié)果是相同的愚臀。不同于OC的是swift可以對浮點型數(shù)據(jù)求余.
eg: 4.5 % 2 = 0.5
4>空合運算符
對于C或者OC的比較基礎(chǔ)的運算符這里就不在贅述了.想給大家多總結(jié)干貨.空合運算符 ??
空合運算符(a ?? b)將對可選類型a進行空判斷,如果a包含一個值就進行解封矾利,否則就返回一個默認值b.這個運算符有兩個條件:
表達式a必須是Optional類型
默認值b的類型必須要和a存儲值的類型保持一致
5>區(qū)間運算符
區(qū)間運算符分為閉區(qū)間運算符和半開區(qū)間運算符
閉區(qū)間運算符(a...b)定義一個包含從a到b(包括a和b)的所有值的區(qū)間姑裂,b必須大于等于a。在for-in循環(huán)中運用的很靈活.
半開區(qū)間(a..<b) ?定義一個從a到b但不包括b的區(qū)間男旗。 之所以稱為半開區(qū)間舶斧,是因為該區(qū)間包含a而不包括b的值。