Swift:底線及switch使用總結

來源:互聯網
上載者:User

標籤: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使用總結

相關文章

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.