運算符是程式設計語言不可缺少的一個部分,swift中除了支援c中的運算符外,還提供了一些更加強大的運算符功能,例如取餘符%可以用來計算浮點數,另外新增了兩種範圍運算符。swift中有3類運算符:
1.一進制運算符
運算符作用于一個操作數,可以出現在操作數前或者操作數後。
2.二進制運算符
運算符作用于兩個操作數,出現在兩個操作數中間。
3.三元運算符
運算符作用于三個操作數間。
指派運算符用=符号表示,用于初始化或者更新一個量值,示例如下:
如果指派運算符的右邊是一個元組,其也可以将元組進行分解指派,示例如下:
與c與objective-c不同,swift的中指派運算符并不會傳回一個值,很多初學者在進行if語句的使用時,經常會犯的一個錯誤就是将指派運算符當做等于運算符來使用,這些錯誤在swift語言中都将被避免,因為如果在if語句的判斷條件中使用的是指派運算符,編譯器将會直接抛出錯誤。
swift中支援的基礎的算數運算符有7種,加(+)、減(-)、乘(*)、除(/)、取餘(%)、正号(+)、負号(-)。sring類型的資料是支援通過+運算符來進行拼接的,示例如下:
swift中的%運算符比objective-c更加強大,其除了支援整數的取餘操作外,還可以支援浮點數的取餘操作,示例如下:
對于正号和負号操作符也被稱為一進制加操作符與一進制減操作符,一進制減操作符會改變資料的正負性,一進制加操作符隻會傳回數值本身,并沒有做任何操作,示例如下:
swift中提供了将一個算術運算符與指派運算符結合使用的複合指派功能,示例如下:
swift支援objective-c中所有的比較運算符,比較運算符将會傳回一個bool類型的值:
除了上面列舉出的6種比較運算符外,swift中還提供了兩個特殊的比較運算符===和!==,這兩個比較運算符用于比較引用是否相同。
swift中的元組也可以進行比較,但是其有兩個前提需要注意:
1.元組中元素的個數相同且對應位置的元素類型相同。
2.元組中的元素可以進行比較操作。
當元組進行比較時,按元素順序進行逐個比較,直道某個元素比較出結果後作為元組的比較結果。
三元運算符可以了解為一個簡寫的if else 語句,示例如下:
空聚合運算符也是swift語言中獨有的一個運算符,其設計的思路是基于更加友善的使用optional值的目的。對于optional類型的值,開發者一般會需要使用?進行可選拆包或者!進行強制拆包來擷取其原始值,空聚合運算符??提供了更加使用的方式,示例如下:
swift中還提供了區間運算符,在for-in循環中,區間運算符會被經常使用到,示例如下:
swift中支援與&&、或||、非!三種邏輯運算符,邏輯運算符隻能操作bool值,示例如下: