當前位置:
首頁 > 知識 > Swift教程之基本操作符

Swift教程之基本操作符

Swift教程之基本操作符


基本操作符

本章介紹Swift中的常見操作符,並介紹使用自定義操作符實現複雜運算。

術語

操作符包括一元、二元和三元運算符:

  • 一元運算符包括前綴運算符(如-a)和後綴運算符(a!)。

  • 二元運算符為中綴運算符。

  • Swift只有一個三元運算符,即條件表達式(a ? b : c)。

賦值運算符

簡單賦值運算:

Swift教程之基本操作符

元組賦值運算:

Swift教程之基本操作符

與C和Objective-C不同的是,Swift的賦值運算符不返回該值,使得賦值運算符不可在if語句中作條件判斷:

Swift教程之基本操作符

這個特性能避免在代碼中將 == 寫作 =

算術運算符

Swift支持加(+)、減(-)、乘(*)、除(/)四種數值運算。

與C和Object-C不同,Swift的算術運算符不允許值溢出,可選擇溢出運算符(如&+b)對溢出選值。

加法運算符(+)可用在String中:


"hello, " + "world"// 等於 "hello, world"

求余運算符

一元減號運算符


let three = 3

let minusThree = -three

let plusThree = -minusThree

一元加法運算符

當和一元減法運算符一起使用時,可讓代碼更加對稱。

複合賦值運算符

Swift教程之基本操作符


注意

符合賦值運算符不返回任何值

比較運算符

標準C比較運算符

  • a == b

  • a != b

  • a > b

  • a < b

  • a >= b

  • a <= b

注意

==!== 運算符用於判斷兩個對象是否引用同一個實例對象。

比較運算符常用於條件語句:

Swift教程之基本操作符

邏輯運算符可用於對元組類型的比較,從左到右依次比較:

Swift教程之基本操作符

只有當元組的每個元素能夠應用該操作符時才能進行比較:

Swift教程之基本操作符


注意

Swift標準庫只能對少於7個元素的元組使用比較運算符,否則必須自己實現比較運算符。

三元條件運算符

三元條件運算符(question ? answer1 : answer2)是以下代碼的縮寫:

Swift教程之基本操作符

三元條件運算符應謹慎使用,避免三元條件運算符的嵌套使用,這樣會使代碼可讀性降低。

nil合併運算符

nil合併運算符(a ?? b)表明若可選類型a不為nil,則返回a的強制解包值,否則返回默認值b。

nil合併運算符是以下代碼的縮寫:

Swift教程之基本操作符

nil合併運算符用於給可選類型設定默認值:

Swift教程之基本操作符

範圍運算符

範圍運算符是範圍值的縮寫形式。

閉合範圍運算符

閉合範圍運算符(a...b)表示包含a和b的從a到b的一系列整數值。

閉合範圍運算符常用於迭代:

Swift教程之基本操作符

半開範圍運算符

半開範圍運算符(**a..

邏輯運算符

邏輯運算符與布爾值一起使用,有三種基本邏輯運算符:

  • 邏輯非( !a )

  • 邏輯與( a && b )

  • 邏輯或( a || b )

邏輯非運算符

邏輯非運算符反轉布爾值:

Swift教程之基本操作符

仔細選擇布爾常量和變數名可以幫助保持代碼的可讀性和簡潔性,同時避免雙重否定或混亂的邏輯語句。

邏輯與運算符

邏輯與運算符與C語言相同,也會出現短路現象。

Swift教程之基本操作符

邏輯或運算符

邏輯或運算符也有短路現象。

Swift教程之基本操作符

組合邏輯運算符

使用組合邏輯運算符構建複雜的邏輯表達式:

Swift教程之基本操作符

注意

邏輯與和邏輯與是左結合運算符,組合邏輯表達式會首先評估最左邊的子表達式。

顯式括弧

在組合邏輯運算符中適當使用括弧可提供代碼的可讀性並保持意圖清晰。

Swift教程之基本操作符


文章來自博客園

找工作難?那是你沒選對行業!

2017年【中公教育】特別推出2017年就業促進計劃,500萬就業基金助你成為IT達人

詳情請戳://www.ujiuye.com/zt/jycj/?wt.bd=zy35844tt

什麼?海量IT學習資料白給你都不要?別想了,加群搶:499754614

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

移動端主流適配方案
「js高手之路」html5 canvas動畫教程-實時獲取滑鼠的當前坐標
DAO|JS設計模式
「js高手之路」html5 canvas系列教程-線形漸變

TAG:IT優就業 |