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")
}