Swift提供了相似C語言的流程控制結構,包括能夠屢次執行任務的for和while循環,基於特定條件選擇執行不一樣代碼分支的if和switch語句,還有控制流程跳轉到其餘代碼的break和continue語句。swift
for index in 1...5 { print("\(index) times 5 is \(index * 5)") } // 1 times 5 is 5 // 2 times 5 is 10 // 3 times 5 is 15 // 4 times 5 is 20 // 5 times 5 is 25
遍歷數組數組
let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { print("Hello, \(name)!") } // Hello, Anna! // Hello, Alex! // Hello, Brian! // Hello, Jack!
遍歷字典安全
let numberOfLegs = ["spider": 8, "ant": 6, "cat": 4] for (animalName, legCount) in numberOfLegs { print("\(animalName)s have \(legCount) legs") } // ants have 6 legs // cats have 4 legs // spiders have 8 legs
While循環ide
While 循環運行一系列語句直到條件變成 false。這類循環適合使用在第一次迭代前迭代次數未知的狀況下。swift提供2種while循環(while,repeat-while)。spa
whilecode
普通while循環,在迭代前檢查條件是否爲true,是纔會進行迭代blog
repeat-while字符串
它和 while 的區別是在判斷循環條件以前,先執行一次循環的代碼塊,而後重複循環直到條件爲 false。string
條件語句it
if語句
和c同樣這裏不作介紹
switch語句
switch語句會嘗試把某個值與若干個模式(pattern)進行匹配。根據第一個匹配成功的模式,switch語句會執行對應的代碼。當有可能的狀況較多時,一般用switch語句替換if語句。
switch語句都由多個case構成。爲了匹配某些更特定的值,Swift 提供了幾種更復雜的匹配模式switch語句必須是完備的。這就是說,每個可能的值都必須至少有一個case塊與之對應。在某些不可能涵蓋全部值的狀況下,你可使用默認(default)塊知足該要求,這個默認塊必須在switch語句的最後面。與C語言和Objective-C中的switch語句不一樣,在 Swift 中,當匹配的case塊中的代碼執行完畢後,程序會終止switch語句,而不會繼續執行下一個case塊。這也就是說,不須要在case塊中顯式地使用break語句。這使得switch語句更安全、更易用,也避免了因忘記寫break語句而產生的錯誤。