Swift中的前提斷定、輪回、跳轉語句基本進修筆記。本站提示廣大學習愛好者:(Swift中的前提斷定、輪回、跳轉語句基本進修筆記)文章只能為提供參考,不一定能成為您想要的結果。以下是Swift中的前提斷定、輪回、跳轉語句基本進修筆記正文
1、引言
一種編程說話的壯大與否,很年夜水平上取決於其供給的法式流程掌握計劃,就如應用匯編說話完成龐雜的法式流程是一件苦楚的工作。Swift中供給了很多壯大的流程掌握語句,例如疾速遍歷for-in,while輪回,repeat-while輪回,switch選擇等,須要留意的是,在Swift2.2中,for(a;b;c)輪回曾經被棄用失落,而且Swift中的Switch語句也加倍壯大,可以處置隨意率性數據類型。
2、for-in輪回
合營規模運算符,for-in輪回可以用來履行肯定次數的輪回,示例以下:
for index in 1...5 { print(index) } //假如不須要獲得輪回中每次的輪回次數 可使用以下方法 var sum=0; for _ in 1...3 { sum += 1 }
for-in輪回也平日會用來遍歷數組,字典,聚集等,示例以下:
var collection1:Array = [1,2,3,4] var collection2:Dictionary = [1:1,2:2,3:4,4:4] var collection3:Set = [1,2,3,4] for obj in collection1 { print(obj) } for (key , value) in collection2 { print(key,value) } for obj in collection3 { print(obj) }
3、while輪回
while語句停止輪回操作,直到輪回前提為false為止,這類型的輪回平日實用於輪回次數不定的輪回需求,while輪回供給兩種語法格局,示例以下:
var i=0 //當i不小於10時跳出輪回 while i<10 { print("while",i) i+=1 } //先輩行一次操作 在斷定輪回前提 repeat { print("repeat while") } while i<10
4、if語句
if語句是法式開辟中最經常使用的語句之一,經由過程if將斷定一個前提能否成立來停止法式的流程掌握,if語句平日會和else語句聯合停止應用,示例以下:
var c:Int if 1>2 { c=1 }else if 1<0 { c=2 }else{ c=3 }
5、Switch語句
Switch語句作為開關選擇語句,用來處置一組值的分支選擇,Swift中的Switch語句非分特別壯大,比擬於Objective-C,Swift中的Switch語句每一個case後不須要應用break停止手動中止,現代碼婚配到一個case後語句將自行中止。用法示例代碼以下:
var charac:Character = "b" //應用switch語句停止字符分支斷定 switch charac { case "a": print("chara is a") case "b": print("chara is b") case "c": print("chara is c") default ://default用於處置其他額定情形 print("no charac") } //統一個case中可以包括多個分支 switch charac { case "a","b","c" : print("chara is word") case "1","2","3" : print("chara is num") default : print("no charac") } //在case中也能夠應用一個規模 var num = 3 switch num { case 1...3 : print("1<=num<=3") case 4 : print("chara is num") default : print("no charac") } //應用Switch語句停止元組的婚配 var tuple = (0,0) switch tuple { case (0,1): print("Sure") //也能夠只對元組中的某個元素停止婚配 case (_,1): print("Sim") //也能夠對元組中的元素停止規模婚配 case(0...3,0...3): print("SIM") default: print("") } //停止數據綁定 switch tuple { case (let a,1): print(a) case (let b,0): print(b) //let(a,b) 與 (let a,let b)意義雷同 case let(a,b): print(a,b) default: print("") } //關於停止了數據綁定的Switch語句 可使用where症結字來停止前提斷定 switch tuple { case (let a,1): print(a) case (let b,0): print(b) //let(a,b) 與 (let a,let b)意義雷同 case let(a,b) where a==b: print(a,b) default: print("") }
6、跳轉語句
Swift中供給了5種跳轉語句,continue,break,fallthrough,return,throw。
1.continue:跳出到輪回肇端地位,直接開端下次輪回。
2.break:break假如在輪回語句中則是直接中止輪回,跳出,若是在Switch構造中,則立刻跳出Switch構造。
3.fallthrough語句須要和switch語句合營應用,在case中應用fallthrough,則會持續履行下一個case,須要留意,鄙人一個case中有停止數據綁定的,弗成以應用fallthrough,示例以下:
var tuple = (0,0) switch tuple { case (0,0): print("Sure") //fallthrough會持續履行上面的case fallthrough //也能夠只對元組中的某個元素停止婚配 case (_,0): print("Sim") fallthrough //也能夠對元組中的元素停止規模婚配 case(0...3,0...3): print("SIM") default: print("") }
4.return:return語句直接從函數中前往。
5.throw:throw用於拋出異常。
Swift還支撐另外一種語法,可認為while輪回設置一個tip標簽,應用break和continue等症結字來停止流程的掌握,示例以下:
var tmp = 0; tip:while tmp<10 { print("ccc") tmp+=1 switch tmp { case 3: break tip default: break } }
Swift2.0以後,供給了一種新的語法,guard-else,這也被稱作守護語句,只要當前提不知足時,才履行else前面的代碼,示例以下:
var name = "HS" func nameChange(name:String) { guard name=="HS" else{ print(name) return } print("name is HS") } nameChange(name)
在開辟中,函數中經常會須要檢討傳入的參數能否相符尺度,guard-else語句就是為這類需求所生,正如其名,它用於守護函數履行的准確度。
7、體系版本檢討
應用以下示例代碼停止體系支撐版本的檢討:
if #available(iOS 9, *){ print("iOS 9") }