亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

swift學習筆記(2)-基本運算符

2019-11-09 15:19:41
字體:
來源:轉載
供稿:網友

賦值運算符

var a = 10;

如果賦值的右邊是一個多元組,它的元素可以馬上被分解成多個常量或變量:

let (x, y) = (1, 2)// 現在 x 等于 1,y 等于 2

與 C 語言和 Objective-C 不同,Swift 的賦值操作并不返回任何值。所以以下代碼是錯誤的:

if x = y { // 此句錯誤, 因為 x = y 并不返回任何值}

這個特性使你無法把(==)錯寫成(=),由于 if x = y 是錯誤代碼,Swift 能幫你避免此類錯誤發生。

算術運算符

Swift 中所有數值類型都支持了基本的四則算術運算符:

加法(+)減法(-)乘法(*)除法(/)

與 C 語言和 Objective-C 不同的是,Swift 默認情況下不允許在數值運算中出現溢出情況。但是你可以使用 Swift 的溢出運算符來實現溢出運算(如 a &+ b)。詳情參見溢出運算符。

加法運算符也可用于 String 的拼接:

"hello, " + "world" // 等于 "hello, world"

求余運算符

a = (b × 倍數) + 余數 a % b 的結果就是上面的余數,a為負數以上格式還是通用。

注意:在對負數 b 求余時,b 的符號會被忽略。這意味著 a % b 和 a % -b 的結果是相同的。

組合賦值運算符

var a = 1a += 2// a 現在是 3

注意:復合賦值運算沒有返回值,let b = a += 2這類代碼是錯誤。這不同于上面提到的自增和自減運算符。

比較運算符(Comparison Operators)

等于(a == b)不等于(a != b)大于(a > b)小于(a < b)大于等于(a >= b)小于等于(a <= b)

當元組中的值可以比較時,你也可以使用這些運算符來比較它們的大小。例如,因為 Int 和 String 類型的值可以比較,所以類型為 (Int, String) 的元組也可以被比較。相反,Bool 不能被比較,也意味著存有布爾類型的元組不能被比較。

比較元組大小會按照從左到右、逐值比較的方式,直到發現有兩個值不等時停止。如果所有的值都相等,那么這一對元組我們就稱它們是相等的

(1, "zebra") < (2, "apple") // true,因為 1 小于 2(3, "apple") < (3, "bird") // true,因為 3 等于 3,但是 apple 小于 bird(4, "dog") == (4, "dog") // true,因為 4 等于 4,dog 等于 dog

注意:Swift 標準庫只能比較七個以內元素的元組比較函數。如果你的元組元素超過七個時,你需要自己實現比較運算符。

三目運算符(Ternary Conditional Operator)

let contentHeight = 40let hasHeader = truelet rowHeight = contentHeight + (hasHeader ? 50 : 20)// rowHeight 現在是 90

空合運算符(Nil Coalescing Operator)

空合運算符(a ?? b)將對可選類型 a 進行空判斷,如果 a 包含一個值就進行解封,否則就返回一個默認值 b。表達式 a 必須是 Optional 類型。默認值 b 的類型必須要和 a 存儲值的類型保持一致。

空合運算符是對以下代碼的簡短表達方法:

a != nil ? a! : b

上述代碼使用了三目運算符。當可選類型 a 的值不為空時,進行強制解封(a!),訪問 a 中的值;反之返回默認值 b。無疑空合運算符(??)提供了一種更為優雅的方式去封裝條件判斷和解封兩種行為,顯得簡潔以及更具可讀性。

注意: 如果 a 為非空值(non-nil),那么值 b 將不會被計算。這也就是所謂的短路求值。

下文例子采用空合運算符,實現了在默認顏色名和可選自定義顏色名之間抉擇:

let defaultColorName = "red"var userDefinedColorName: String? //默認值為 nilvar colorNameToUse = userDefinedColorName ?? defaultColorName// userDefinedColorName 的值為空,所以 colorNameToUse 的值為 "red"

閉區間運算符

閉區間運算符(a…b)定義一個包含從 a 到 b(包括 a 和 b)的所有值的區間。a 的值不能超過 b。 ? 閉區間運算符在迭代一個區間的所有值時是非常有用的,如在 for-in 循環中:

for index in 1...5 { 半開區間運算符

半開區間運算符(a..<b)定義一個從 a 到 b 但不包括 b 的區間。 半開區間的實用性在于當你使用一個從 0 開始的列表(如數組)時,非常方便地從0數到列表的長度。

let names = ["Anna", "Alex", "Brian", "Jack"]let count = names.countfor i in 0..<count { print("第 /(i + 1) 個人叫 /(names[i])")}// 第 1 個人叫 Anna// 第 2 個人叫 Alex// 第 3 個人叫 Brian// 第 4 個人叫 Jack

邏輯運算符(Logical Operators)

邏輯運算符的操作對象是邏輯布爾值。Swift 支持基于 C 語言的三個標準邏輯運算。

邏輯非(!a)邏輯與(a && b)邏輯或(a || b)

可以使用括號來明確優先級


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美美最猛性xxxxxx| 国产亚洲成精品久久| 一区国产精品视频| 国产日韩在线看片| 欧美高清视频在线观看| 亚洲成人激情视频| 日韩av在线天堂网| 成人高h视频在线| 亚洲天堂久久av| 欧美一区三区三区高中清蜜桃| 日韩成人高清在线| 国产成人精品a视频一区www| 亚洲日韩欧美视频| 亚洲影院色在线观看免费| 中文字幕一区二区三区电影| 69视频在线播放| 欧美极品少妇xxxxⅹ裸体艺术| 欧美在线观看一区二区三区| 一区二区三区回区在观看免费视频| 日韩高清电影免费观看完整| 日韩av电影在线免费播放| 菠萝蜜影院一区二区免费| 日韩电视剧在线观看免费网站| 91日本在线观看| 欧美与黑人午夜性猛交久久久| 国产亚洲精品久久久| 日韩精品中文字幕久久臀| 一区二区三区四区在线观看视频| 色偷偷91综合久久噜噜| 免费91麻豆精品国产自产在线观看| 国产精品精品视频一区二区三区| 欧美夫妻性生活xx| 亚洲韩国日本中文字幕| 国产精品国产三级国产aⅴ9色| 欧美精品手机在线| 亚洲性无码av在线| 国产精品久久久久久久久免费看| 中日韩美女免费视频网站在线观看| 欧美一级大片在线观看| 国内精品国产三级国产在线专| 性金发美女69hd大尺寸| 国产亚洲精品va在线观看| 91丝袜美腿美女视频网站| 国产精品欧美亚洲777777| 欧美性69xxxx肥| 国产精品久久久久一区二区| 亚洲精品乱码久久久久久按摩观| 色噜噜狠狠狠综合曰曰曰88av| 亚洲毛片在线看| 欧美黑人巨大精品一区二区| 欧美黄色小视频| 热久久视久久精品18亚洲精品| 国内精品久久久久| 欧美理论在线观看| 91在线视频九色| 91精品91久久久久久| 国产精品久久久久aaaa九色| 日韩风俗一区 二区| 欧美老女人性视频| 97国产suv精品一区二区62| 成人在线一区二区| 综合136福利视频在线| 精品久久香蕉国产线看观看gif| 亚洲国产精品一区二区三区| 欧洲亚洲女同hd| 91精品在线看| 成人av.网址在线网站| 欧美成人合集magnet| 国产精品久久久久91| 亚洲精品久久久久久久久久久久久| 欧美激情视频网| 久久欧美在线电影| 国产va免费精品高清在线观看| 九色精品免费永久在线| 国内精品久久久久久影视8| 国产精品国产福利国产秒拍| 热久久免费国产视频| 欧美一区二区大胆人体摄影专业网站| 国产女精品视频网站免费| 日韩高清电影好看的电视剧电影| 91在线精品视频| 欧美日本高清视频| 欧美激情欧美狂野欧美精品| 欧美激情乱人伦一区| 性色av一区二区三区在线观看| 亚洲直播在线一区| 欧美日本中文字幕| 亚洲欧美日韩精品久久奇米色影视| 青青久久av北条麻妃黑人| 亚洲在线免费观看| 91精品国产777在线观看| 亚洲成在人线av| 欧美午夜精品久久久久久浪潮| 91美女高潮出水| 国产精品亚洲欧美导航| 久久精品国产亚洲| 亚洲欧美综合精品久久成人| 高潮白浆女日韩av免费看| www.欧美精品| 国产99久久精品一区二区永久免费| 久久偷看各类女兵18女厕嘘嘘| 欧美精品在线网站| 欧美成人在线影院| 97久久伊人激情网| 精品亚洲一区二区| 九九热这里只有精品6| 高清欧美性猛交xxxx| 一本色道久久88亚洲综合88| 亚洲sss综合天堂久久| 久久久久久一区二区三区| 精品久久久精品| 日韩精品在线免费观看| 国产98色在线| 欧美在线观看视频| 在线看福利67194| 精品香蕉在线观看视频一| 欧美成人午夜激情视频| 久久久噜久噜久久综合| 国产欧美日韩高清| 国产精品aaaa| 91在线观看免费高清完整版在线观看| 国产精品白嫩美女在线观看| 九九精品视频在线观看| 久久亚洲综合国产精品99麻豆精品福利| 久久久爽爽爽美女图片| 亚洲九九九在线观看| 8050国产精品久久久久久| 奇门遁甲1982国语版免费观看高清| 中文字幕v亚洲ⅴv天堂| 97超级碰碰碰久久久| 亚洲欧美成人一区二区在线电影| 亚洲一区二区久久久| 国产成人精品在线观看| 人人澡人人澡人人看欧美| 日韩免费观看网站| 亚洲国产精品网站| 亚洲国产高潮在线观看| 性色av一区二区三区红粉影视| 国产精品亚洲网站| 欧洲亚洲免费视频| 午夜精品久久17c| 精品国产一区二区三区久久狼5月| 欧美精品久久久久久久免费观看| 亚洲男人天堂久| 亚洲国产成人精品一区二区| 欧美极品少妇与黑人| 精品久久久久国产| 乱亲女秽乱长久久久| 精品成人国产在线观看男人呻吟| 中文国产成人精品| 亚洲免费高清视频| 亚洲激情在线观看| 97精品久久久中文字幕免费| 亚洲影院在线看| 久久中文久久字幕| 91精品国产色综合| 中文字幕亚洲综合久久筱田步美| 国产亚洲欧美日韩一区二区| 欧美视频在线观看免费| 亚洲第一区第一页| 一本色道久久综合狠狠躁篇的优点| 国产一区二区丝袜高跟鞋图片| 国内精品视频久久| 亚洲色图校园春色|