Swift之旅(二)控制流

2021-07-02 07:06:53 字數 2063 閱讀 7247

要處理條件邏輯,使用 if 和 switch ,要處理迴圈邏輯,使用 for-in, for, while, 和 do-while 。包著條件或者迴圈的括號可加可不加。處理邏輯體的花括弧是必須加的。

let individualscores = [75, 43, 103, 87, 12]

var teamscore = 0

for score in individualscores else

}println(teamscore)

注意

以上**,temascore自己佔了一行**。這是在playground裡看變數值的簡單方法。

在if語句裡,條件必須是乙個boolean表示式——意思是像 if score 這種寫法是錯的,因為不能隱式地轉換為0值。

你可以把 if 和 let 一起使用來處理可能不明確的值。這些值表示為可選值。可選值要麼包含乙個值,要麼包含 nil ,表明這個值是不明確的。在值的型別後加上問號 (?) 來標記這個值是可選的。

var optionalstring: string? = "hello"

println(optionalstring == nil)

var greeting = "hello!"

iflet name = optionalname

試一試

將 optionalname 改為 nil。 greeting 是什麼值? 再加乙個 else

語句,如果 optionalname 是 nil ,將 greeting 設定乙個不同的值。

switch支援任何種類的資料和大量的比較操作——可並不是只限於整型和測試是否相等。

let vegetable = "red pepper"

switch vegetable

試一試

試試把default那一部分去掉。看看會有什麼錯誤?

注意看一下 let 是怎麼用來將匹配模式部分的值賦給常量的。

匹配switch case 的**執行完以後,程式從switch語句跳出。不會執行下乙個case,所以沒有必要在每個case結束部分**處顯示的跳出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

}}println(largest)

試一試

增加乙個變數來追蹤哪種數是最大的,還有這個最大的數是多少

用 while 來重複執行一段**直到條件改變。迴圈的條件也可以放到最後,以保證迴圈至少執行一次。

var n = 2

while n < 100

println(n)

var m = 2

do while m < 100

println(m)

你可以在迴圈裡維持乙個索引——要麼使用 ..< 建立一套索引或者要麼寫乙個顯示的初始化、條件和遞進。這兩種迴圈是一樣的:

var firstforloop = 0

fori in 0..<4

println(firstforloop)

var secondforloop = 0

for var i = 0; i

< 4; ++i

println(secondforloop)

用 ..< 建立的索引忽略最大值,用 … 建立的索引包含最大值。

Swift(二)控制流

要處理條件邏輯,使用 if 和 switch 要處理迴圈邏輯,使用 for in,for,while,和 do while 包著條件或者迴圈的括號可加可不加。處理邏輯體的花括弧是必須加的。注意 以上 temascore自己佔了一行 這是在playground裡看變數值的簡單方法。在if語句裡,條件必...

Swift 控制流 七

swift中的控制語句包括for while if switch break continue 一.for 表示1 5閉區間中的數字,其中index為隱式宣告 forindex in1 5 開區間打印記過1 4 for index in 1.5 如果不需要知道範圍內的每一項的值,可以使用 進行忽略 ...

Swift學習 Swift程式設計之旅(二)

在本節將介紹一些最基礎的知識 swift提供自己版本的型別,下面說明幾種簡單的型別 int 整型double和float 浮點型 string 字串型 bool 布林型 它也提供了3種主要的強大的集合型別,set集合,array陣列,dictionary字典 和c一樣,swift通過變數類儲存並通過...