Swift2學習 Swift概覽2 控制流

2021-07-03 19:45:35 字數 1887 閱讀 9787

控制流

使用if和switch構建條件語句,使用for-in,for,while和repeat-while構建迴圈語句。括號括主條件語句或迴圈變數是可選的。但是擴主主語句是必須的。

for score in individualscores else

//            if (score) > 50 else

}print(teamscore)

在if語句中,條件語句必須是布林表示式--這意味著 if score 這樣的語句是錯誤的,不能隱式的和零比較。

你可以使用if和let一起工作在值可能丟失的情況下。這些值被描繪成可選的。乙個可選的值可以是有效值也可以是nil用來指出他的值丟失了。在變數型別的後面加上乙個問號(?)標識他的值是可選的。

練習 把optionalname改為nil。greeting的值是什麼?加乙個else分枝為optionalname

為nil的情況下設定乙個不同的greeting。

如果可選值為nil,條件語句為false所以大括號內的**被跳過。否則可選值被解析並且賦給let後面的常量,當然要保證**塊中解析值是有效的。

開關語句可以支援任何型別和多種多樣的比較操作--並不只限於整數和等值校驗。

//        let vegetable = "red *****"

//        let vegetable = "celery"

//        let vegetable = "cucumber"

//        let vegetable = "watercress"

let vegetable = "watercress peper"

switch vegetable 練習

嘗試刪掉default分支語句。你會得到什麼錯誤?

注意如何在匹配一部分條件下,使用let給常量賦值的模式。

在執行玩匹配的switch case語句後,**跳出switch語句。不會執行下乙個case,所以,這裡不用在每個case後顯式寫break來指明結束switch語句。

你可以使用for-in遍歷字典的鍵值對。字典是乙個無序集合,所以不要在意輸出順序。

let interestingnumbers = ["prime":[2, 3, 5, 7, 11, 13],

"fibonacci": [1, 1, 2, 3, 5, 8],

"square": [1, 4, 9, 16, 25]]

var largest = 0

for (kind, numbers) in interestingnumbers }}

print(largest) 練習

新增另外乙個變數跟蹤哪乙個種類的數字是最大的,或者最大的值是什麼。

使用while迴圈乙個**塊直到條件改變。迴圈條件也可以在最後,並確保迴圈語句至少執行一次。

var n = 2

while n<100

print(n)

var m = 2

repeat while m < 100

print(m)

你可以在迴圈中保留乙個索引--要麼使用,,《來確定索引範圍要麼顯式初始化變數,條件,增量。下面兩個迴圈做了同樣的事:

var firstforloop = 0

for i in 0..<4

println(firstforloop)

var secondforloop = 0

for var i = 0; i < 4; ++i

println(secondforloop)

var thirdforloop = 0

for i in 2...4

println(thirdforloop)

使用..《得到的範圍不包括最大值,使用...得到的範圍包括兩頭的值.

Swift2學習 Swift概覽6 協議和擴充套件

協議和擴充套件 用protocol宣告乙個協議。protocol exampleprotocol mutating func adjust 類,列舉和結構體都可以接受協議。class class exampleprotocol var a class a.adjust let adescriptio...

Swift2學習 Swift概覽4 物件和類

物件和類 使用class並在其後面跟著類名來建立乙個類。類中常量或者變數已同樣的方法宣告,除非他是類的上下文 類之外 同樣的,方法和類以同樣的方式宣告。class shape 練習 通過let新增乙個常量屬性,並新增另外乙個方法來使用這個引數。通過在類名之後放置一對圓括號來建立乙個類物件。通過小數點...

從零學習Swift 2

定義let 定義常量,一經賦值不允許再修改 var 定義變數,賦值之後仍然可以修改 常量 定義常量並且直接設定數值 let x 20 常量數值一經設定,不能修改,以下 會報錯 x 30 使用 型別 僅僅只定義型別,而沒有設定數值 let x1 int 常量有一次設定數值的機會,以下 沒有問題,因為 ...