程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Swift中的條件判別、循環、跳轉語句根底學習筆記

Swift中的條件判別、循環、跳轉語句根底學習筆記

編輯:更多關於編程

Swift中的條件判別、循環、跳轉語句根底學習筆記。本站提示廣大學習愛好者:(Swift中的條件判別、循環、跳轉語句根底學習筆記)文章只能為提供參考,不一定能成為您想要的結果。以下是Swift中的條件判別、循環、跳轉語句根底學習筆記正文


一、引言

一種編程言語的弱小與否,很大水平上取決於其提供的順序流程控制方案,就如運用匯編言語完成復雜的順序流程是一件苦楚的事情。Swift中提供了許多弱小的流程控制語句,例如疾速遍歷for-in,while循環,repeat-while循環,switch選擇等,需求留意的是,在Swift2.2中,for(a;b;c)循環曾經被棄用掉,並且Swift中的Switch語句也愈加弱小,可以處置恣意數據類型。

二、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)
}

三、while循環

while語句停止循環操作,直到循環條件為false為止,這類型的循環通常適用於循環次數不定的循環需求,while循環提供兩種語法格式,示例如下:

var i=0
//當i不小於10時跳出循環
while i<10 {
  print("while",i)
  i+=1
}
//先停止一次操作 在判別循環條件
repeat {
  print("repeat while")
} while i<10

四、if語句

if語句是順序開發中最常用的語句之一,經過if將判別一個條件能否成立來停止順序的流程控制,if語句通常會和else語句結合停止運用,示例如下:

var c:Int
if 1>2 {
  c=1
}else if 1<0 {
  c=2
}else{
  c=3
}

五、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("")
}

六、跳轉語句

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語句就是為這種需求所生,正如其名,它用於守護函數執行的准確度。

七、零碎版本反省

運用如下示例代碼停止零碎支持版本的反省:

if #available(iOS 9, *){
  print("iOS 9")
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved