Swift 流程控制

2022-06-17 17:30:10 字數 3602 閱讀 8860

1、if else

let age = 5

if age<5

else

if age ==5

else

注意:if 後面的小括號可以省略、條件後面的大括號不能省略 

if 條件後面只能跟bool型別

2、while

var age = 5

while age > 0

//輸入結果5、4、3、2、1 輸出5次

var age = -1

;repeat

while age > 0

repeat while 相當於c語言中的do while 

這裡不用age--  是因為從swift3開始,去除了自增(++)、自減(--)運算子

3、for

let name = ["

1","

2","

3","4"

]for i in

0..<3

列印結果 12

3let name = ["

1","

2","

3","4"

]let range = 0...3

for i in

range

列印結果 12

34let name = ["

1","

2","

3","4"

]let a = 1

let b = 3

for i in

a...b

列印結果 23

4for

var i in

1...4

列印結果 67

89for _ in

1...3

列印3次a

a..

let name = ["

1","

2","

3","4"

]for a in name[1...2

]列印結果

2 ,3

let name = ["

1","

2","

3","4"

]for a in name[...2]//

列印 1 2 3

let name = ["

1","

2","

3","4"

]for a in name[1

...]

////列印 2 3 4

let name = ["

1","

2","

3","4"

]for a in name[..<2]//

列印1 2

let range = 1...3

print(range.contains(

5)) false

print(range.contains(

3)) true

print(range.contains(

1)) true

4、區間運算

let range = 1...3

let rangone:closedrange

= 1...3

let rangtwo:range

=0..<6

let rangethree:partialrangethrough

= ...5

let range = "

ab"..."cd"

print(range.contains("bz

")) //

true

print(range.contains("

ff")) //

false

字串、字元也能使用區間運算、但不能用在for in中

let characterrange:closedrange

= "\0

"..."~"

print(characterrange.contains("g

")) //

true

\0到~囊括了所有可能用到的ascii字元

5、帶間隔的區間值

let hour = 10

let add = 2

//代表從4開始 到10 不包含10 沒次增加2 的資料

for trank in stride(from: 4

, to: hour, by: add)

//輸出 4 6 8

6、switch

var a = 10

switch

a //

case default 後面不能加{} 預設可以不寫break、不會貫穿到後面去

var a = 1

switch

a //

fallthrough 可以實現貫穿效果 輸出 1 、2

//switch 必須保證能處理所有的情況、如果不想做任何事情加乙個break即可

enum answer

let an =answer.wrong

switch

an//

這種情況定義乙個列舉 、已經處理到了所有的情況、就不需要default了 因為已經知道了an的型別、所以可以省略answer 直接 .right

switch也支援character、string 型別

let sring = "

tom"

switch

sring

let c:character = "a"

switch

c

區間匹配、元組匹配

let age = 11

switch

agelet point = ( -21 ,0

)switch

point

值繫結

let p = (1,0

)switch

p //

輸出x1

7、where

let po = (1 , -1

)switch

po //

輸出x=-y

var num = [10,20,-10,-20,-30

]var sum = 0

for n in num where n > 0

print(sum)

//輸出30

8、標籤語句

outer : for i in

1...4

if i==3

print(

"i:\(i) k:\(k)")

}}//

列印結果

i:1 k:1

i:1 k:2

i:2 k:1

i:2 k:2

swift 04 流程控制

swift提供兩種常見的分支控制結構 if語句和swich語句。一般來說,當條件簡單且可能情況較少時使用if語句 當條件比較複雜情況較多時則可以考慮使用swich語句。if條件語句 if語句有三種形式 第一種 if expression 第二種 if expression else 第三種 if e...

Swift 4 流程控制

if語句 判斷條件不需要小括號,條件執行體必須要放在花括號中 var int6 int 6 if int6 0 print int6 else print 666666666 switch語句 switch中不需要強制寫break語句,但是在每個case裡必須有一條語句 fallthrough可以在...

mysql流程控制 MySQL 流程控制

流程控制 1 順序結構 程式從上往下依次執行 2 分支結構 多條路徑選擇一條 3 迴圈結構 在規定範圍內重複執行 一 分支結構 1 if函式 功能 實現分支流 語法 if 表示式1,表示式2,表示式3 執行順序 執行表示式1,成立返回表示式2的值,不成立則返回表示式3的值 應用 任何地方 例 if ...