Swift語言指南(二)基礎操作符

來源:互聯網
上載者:User

標籤:

操作符是用於檢測、更改或者組合值的特殊符號或短語。例如,加法操作符 (+) 將兩個數字加到一起 (如 let i = 1 + 2)。更複雜的例子包括邏輯與操作符 && (如 if enteredDoorCode && passedRetinaScan) 和自增操作符 ++i,就是把 i 的值加1的捷徑。

Swift 支援大多數標準的C 操作符並且改善了幾項功能以消除常見的編碼錯誤。賦值操作符 (=) 不傳回值,是為了防止想用等於操作符(==)時不小心用成了賦值操作符。算數運算子 (+, -, *, /, % 等等) 檢測並禁止值溢出,以免運算時得出的結果大於或小於類型允許的範圍。

不像C,Swift 可以對浮點數進行取餘操作 (%) 。 Swift 還提供兩個範圍操作符 (a..<b 和 a…b) ,這在C裡是沒有的,用來表示一個範圍的值。

現在我們來簡單介紹下 Swift 裡的常用操作符。

術語

操作符分一元、二元和三元:

一元操作符操作於一個單一目標(如 -a)。一元首碼操作符在它們的目標之前緊跟出現(如 !b),一元尾碼操作符在它們的目標之後緊跟出現(如 i++)。 
二元操作符操作於兩個目標(如 2 + 3),是中綴操作符,因為它出現在兩個目標的中間。 
三元操作符操作於三個目標。像 C 一樣,Swift 只有一個三元操作符,就是三元條件操作符 (a ? b : c)。 
操作符影響的值稱為運算元。在運算式 1 + 2 中,符號 + 是一個二元操作符,它的運算元是值 1 和 2。

 

一、一元運算子

  (一)、負號運算子

 

 

  (二)、正號運算子

注 : 乘 (*)、 除 (/)與OC用法相同

  (三)、自增、自減運算子

 

自減同上,本質上 跟OC沒什麼差別

 

二、二元運算子

 (一)、賦值運算子

        1、賦值操作符 (a = b) 用 b 的值初始化或更新 a 的值:

 

       2、如果賦值操作符的右邊是一個有多個值的元組,它的元素可以馬上被拆解為多個常量或變數:

 

 

    3、不像 C 和 Objective-C 裡的賦值操作符,Swift 裡的賦值操作符自身並不傳回值。下面的語句是不行的:

 

 這個特性防止了賦值操作符 (=) 被誤用作等於操作符 (==) 。Swift 幫你避免 if x = y 這些錯誤在代碼裡出現。

 

  (二)、取餘運算子

 

 

  (三)、組合賦值運算子

 

 

 (四)、比較子

Swift 支援所有標準的 C 比較操作符,具體功能和使用方法與C語言相同,在此不再贅述 

等於 (a == b)

不等於 (a != b)

大於 (a > b)

小於 (a < b)

大於或等於 (a >= b)

小於或等於 (a <= b)

 

 (五)、邏輯運算子

Swift 支援基於C語言的三種標準的邏輯操作符:

邏輯否 (!a)

邏輯與 (a && b)

邏輯或 (a || b)

 

 

下面兩個是swift新增的兩個運算子:

 (六)、區間運算子

   1、全閉區間

閉合範圍操作符 (a…b) 定義了一個從 a 到 b 的範圍,同時包括a 和 b 的值。a 的值必須不能大於 b 。

 

   2、半開半閉區間

半開範圍特別適用於從0開始的列表,如數組,一直數到(但不包括)列表的長度

 

 (七)、空合運算子

  空合運算子(a ?? b)將對可選類型a進行空判斷,如果a包含一個值就進行解鎖,否則就返回一個預設值b.這個運算子有兩個條件:

  運算式a必須是Optional類型

  預設值b的類型必須要和a儲存值的類型保持一致

 

 

三、三元運算子 

三元條件操作符分三個部分,形式是這樣的 question ? answer1 : answer2。

例如:a > b ? a : b

使用功能同C語言的三木運算子,在此不再贅述 

 

 

 

Swift語言指南(二)基礎操作符

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.