你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> swift學習筆記(2)

swift學習筆記(2)

編輯:IOS開發綜合

賦值運算符
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 = 1
a += 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 = 40
let hasHeader = true
let 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?   //默許值為 nil

var colorNameToUse = userDefinedColorName ?? defaultColorName
// userDefinedColorName 的值為空,所以 colorNameToUse 的值為 "red"
閉區間運算符

閉區間運算符(a…b)定義一個包括從 a 到 b(包括 a 和 b)的一切值的區間。a 的值不能超越 b。 ‌ 閉區間運算符在迭代一個區間的一切值時是十分有用的,如在 for-in 循環中:

for index in 1...5 {
    print("\(index) * 5 = \(index * 5)")
}
// 1 * 5 = 5
// 2 * 5 = 10
// 3 * 5 = 15
// 4 * 5 = 20
// 5 * 5 = 25
半開區間運算符

半開區間運算符(a..<b)定義一個從 a 到 b 但不包括 b 的區間。 半開區間的適用性在於當你運用一個從 0 開端的列表(如數組)時,十分方便地從0數到列表的長度。

let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for 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)

可以運用括號來明白優先級

【swift學習筆記(2)】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved