標籤:swift switch 底線用法
一、底線
在objective-c中,底線(_) 並沒有太大作用,一般用來定義變數名稱,比如成員變數的定義 int _age; 但在Swift中,它卻有非常大的功效。
1. 只作為標記
var money = 1_000_000
變數money依舊代表的是數字1000000, 但看起來更清晰化,數字之間彷彿有了間隔。
2. 任意匹配
比如,判斷點(1,1)是否在某個範圍之內。我們可以用下面的寫法
可以看出,case (_,0) 和 case (0,_) 分別表示x軸和y軸,而這裡的"_"就表示x或者y軸上面所有的點。
3. 起忽略作用
比如for迴圈中只需要執行裡面的內容,而又與迴圈變數沒有關係。
for _ in 1...8 { println("Why")}
再舉一個例子,忽略外部參數名,先定義一個“預設參數值”的建構函式
func addStudent(name: String, age: Int = 20){ println("新增學生:name=\(name), age=\(age)")}addStudent("Jack", age: 20)
可以看出age形參有個預設參數值20,所以在調用的時候,調用方法中,有age這個提示。
下面,我們試著使用_進行忽略,代碼如下:
func addStudent2(name: String, _ age: Int = 20){ println("新增學生:name=\(name), age=\(age)")}addStudent2("Rose", 18)
可以看出,這次調用的時候,不需要出現age這個提示符了。
註:關於函數,方法,外部參數名等定義,我會在下一章節進行詳細的介紹。
二、switch用法
1. 基本用法,觀察寫法可知,swift中的switch使用不在需要break關鍵字了。
2. 多條件匹配,可以看出它的寫法與objective-c也有所不同,在objective-c中,多條件匹配是幾個case並列寫,而在swift中,只需要一個case並且條件之間用","隔開。
3. 範圍匹配,其實也就是 "..."的用法,上一節中,我已經進行了說明,這裡就不在解釋了。
4. 元組匹配(參見底線用法2)
5. 條件過略,即引入了where關鍵字,配合switch進行條件過略。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Swift:底線及switch使用總結