【Swift學習】Swift編程之旅---控制流程(九),swift之旅

來源:互聯網
上載者:User

【Swift學習】Swift編程之旅---控制流程(九),swift之旅

  Swift提供了類似C語言的流程式控制制結構,包括可以多次執行任務的for和while迴圈,基於特定條件選擇執行不同代碼分支的if和switch語句,還有控制流程程跳轉到其他代碼的break和continue語句。

除了C裡面傳統的 for 條件遞增迴圈,Swift 還增加了 for-in 迴圈,用來更簡單地遍曆數組(array),字典(dictionary),範圍(range),字串(string)和其他序列類型。Swift 的 switch 語句比 C 語言中更加強大。在 C 語言中,如果某個 case 不小心漏寫了 break,這個 case 就會“掉入”下一個 case,Swift 無需寫 break,所以不會發生這種“掉入”的情況。Case 還可以匹配更多的類型模式,包括範圍(range)匹配,元組(tuple)和特定類型的描述。switch case 語句中匹配的值可以是由 case 體內部臨時的常量或者變數決定,也可以由 where 分句描述更複雜的匹配條件。    For-In迴圈   它可以遍曆數字範圍,數組元素,字串的字元。  遍曆範圍
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迴圈

  While 迴圈運行一系列語句直到條件變成 false。這類迴圈適合使用在第一次迭代前迭代次數未知的情況下。swift提供2種while迴圈(while,repeat-while)。

 

  while

  普通while迴圈,在迭代前檢查條件是否為true,是才會進行迭代

  

 

  repeat-while

  它和 while 的區別是在判斷迴圈條件之前,先執行一次迴圈的代碼塊,然後重複迴圈直到條件為 false。

 

  條件陳述式

  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語句而產生的錯誤。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.