~~~
import Foundation
//continue
//continue 語句可以告訴一個循環體立刻停止本次循環,重新開始下次循環,但并不結束整個循環
for i in 1...10 {
//剔除偶數
if i%2 == 0 {
continue
}
print("continue:\(i)")
}
//break
//break語句會立刻結束整個控制流的執行,當我們想更早的結束一個switch代碼塊或者一個循環體時,都可以使用break
for i in 1...10 {
if i == 3 {
break
}
print("循環語句中的break:\(i)")
}
for i in 1...3 {
for j in 1...10 {
if j == 3 {
break
}
//只結束一重for循環
print("雙重循環語句中的break:\(j)")
}
}
//switch中break
/*
當在?個 switch 代碼塊中使? break 時,會?即中斷該 switch 代碼塊的執?,并且跳轉到
表? switch 代碼塊結束的?括號( } )后的第??代碼。
這種特性可以被?來匹配或者忽略?個或多個分?。因為 Swift 的 switch 需要包含所有的
分??且不允許有為空的分?,有時為了使你的意圖更明顯,需要特意匹配或者忽略某個
分?。那么當你想忽略某個分?時,可以在該分?內寫上 break 語句。當那個分?被匹配
到時,分?內的 break 語句?即結束 switch 代碼塊。
*/
var t1 = 2
switch t1 {
case 1:
print("匹配到了1")
print("11111111")
case 2:
print("匹配到了2")
break
print("22222222")
case 3:
break
default:
print("啥都沒有匹配到")
}
//fallthrough
/*
Swift 中的 switch 不會從上?個 case 分?落?到下?個 case 分?中。相反,只要第?個
匹配到的 case 分?完成了它需要執?的語句,整個 switch 代碼塊完成了它的執?。相?
之下,C 語?要求你顯?的插? break 語句到每個 switch 分?的末尾來阻??動落?到下
?個 case 分?中。Swift 的這種避免默認落?到下?個分?中的特性意味著它的 switch
功能要? C 語?的更加清晰和可預測,可以避免?意識地執?多個 case 分?從?引發的
錯誤。
如果你確實需要 C ?格的貫穿的特性,你可以在每個需要該特性的 case 分?中使
? fallthrough 關鍵字。下?的例?使? fallthrough 來創建?個數字的描述語句。
*/
var t2 = 2
switch t2 {
case 1:
print("貫穿:1")
fallthrough
case 2:
print("貫穿:2")
fallthrough
case 3:
print("貫穿:3")
fallthrough
default:
print("貫穿default")
}
//帶標簽的語句
/*
在 Swift 中,你可以在循環體和 switch 代碼塊中嵌套循環體和 switch 代碼塊來創造復雜的
控制流結構。然?,循環體和 switch 代碼塊兩者都可以使? break 語句來提前結束整個?
法體。因此,顯?地指明 break 語句想要終?的是哪個循環體或者 switch 代碼塊,會很有
?。類似地,如果你有許多嵌套的循環體,顯?指明 continue 語句想要影響哪?個循環體
也會?常有?。
為了實現這個?的,你可以使?標簽來標記?個循環體或者 switch 代碼塊,當使
? break 或者 continue 時,帶上這個標簽,可以控制該標簽代表對象的中斷或者執?。
產??個帶標簽的語句是通過在該語句的關鍵詞的同??前?放置?個標簽,并且該標簽
后?還需帶著?個冒號。
*/
label1 : for i in 1...10 {
for j in 1...10 {
if j == 3 {
break label1 //此時break結束了兩層for循環
}
print("帶標簽的語句:\(j)")
}
}
//return 結束一個函數
func test(name str : String , age n : Int) -> Void {
print("\(str),\(n)")
if n > 20 {
return
}
print("test")
}
test(name: "dzl", age: 25)
~~~
輸出:
~~~
continue:1
continue:3
continue:5
continue:7
continue:9
循環語句中的break:1
循環語句中的break:2
雙重循環語句中的break:1
雙重循環語句中的break:2
雙重循環語句中的break:1
雙重循環語句中的break:2
雙重循環語句中的break:1
雙重循環語句中的break:2
匹配到了2
貫穿:2
貫穿:3
貫穿default
帶標簽的語句:1
帶標簽的語句:2
dzl,25
Program ended with exit code: 0
~~~
- 前言
- swift控制語句,for,while,repeat-while,if,switch
- swift之聲明常量和變量
- swift之數值類型雜談(數值)
- swift之 元組
- oc與swift混編,OC調用swift,swift調用OC
- swift之可選類型
- swift之數組(Array)、集合(Set)、字典(Dictionary)
- swift之switch續(元組,值綁定,where)
- swift之控制轉移語句,continue,break,fallthrough,return,帶標簽的語句
- swift之函數(functions)
- swift之閉包(closure)
- swift之枚舉
- swift之類和結構體
- swift之屬性
- swift之方法(Methods)