Swift3.0中循環(huán)的介紹:
- 循環(huán)在開發(fā)中是必不可少的菲嘴,經(jīng)常會使用到循環(huán)
- 常見的循環(huán)有for循環(huán)咒唆、while循環(huán)喘垂、repeat-while循環(huán)
for循環(huán)的寫法
在Swift中鸡挠,for循環(huán)最常規(guī)的寫法:
for var i = 0; i < 10; i = i + 1{
print("i")
}
當然上述代碼使用了類型推導譬嚣!其中的i = i + 1
可以寫為i++
,這里可以看出和OC的不同之處,for后面的小括號也是不存在的犀忱。
注意:上述代碼在Swift3.0中已經(jīng)棄用募谎,也就是說在Swift3.0中這樣寫會報錯。變量自增阴汇、自減運算也不再適用数冬。
/**
C 語言的格式已經(jīng)在swift3.0 刪除
*/
for var i = 0; i < 10; i++{
print("i")
}
For-in循環(huán)
在OC中For-in叫做快速遍歷,Swift中也存在此種循環(huán)搀庶,例如
/**
for-in循環(huán)
*/
let str = "hello world"
for c in str.characters {
print(c)
}
結(jié)果:
h
e
l
l
o
w
o
r
l
d
區(qū)間循環(huán)
- 開區(qū)間循環(huán)
0..<2
表示0~2區(qū)間吉执,不包含數(shù)字2。
for i in 0..<2 {
print("hi")
}
結(jié)果:
hi
hi
- 閉區(qū)間循環(huán)
0...2
表示0~2區(qū)間地来,包含數(shù)字2戳玫。
for i in 0...2 {
print("hi")
}
結(jié)果:
hi
hi
hi
如果你不需要區(qū)間序列內(nèi)每一項的值,你可以使用下劃線(_)替代變量名來忽略這個值:
for _ in 0..<2 {
print("hello world!")
}
結(jié)果:
hello world!
hello world!
While循環(huán)
while循環(huán)會一直運行一段語句直到條件變成false未斑。這類循環(huán)適合使用在第一次迭代前咕宿,迭代次數(shù)未知的情況下。Swift 提供兩種while循環(huán)形式:
while循環(huán)蜡秽,每次在循環(huán)開始時計算條件是否符合府阀;
repeat-while循環(huán)(也就是OC的do-while循環(huán)),每次在循環(huán)結(jié)束時計算條件是否符合芽突。
while循環(huán)從計算一個條件開始试浙。如果條件為true,會重復運行一段語句寞蚌,直到條件變?yōu)閒alse田巴。(不存在非0即真的情況)while
while循環(huán)從計算一個條件開始。如果條件為true挟秤,會重復運行一段語句壹哺,直到條件變?yōu)閒alse。
while循環(huán)的一般格式:
while condition {
statements
}
while循環(huán)在OC與Swift中差異艘刚,Swift中:
- while后面不存在小括號
- 判斷條件沒有非零即真
var a = 2
while a > 0 {
print(a)
}
結(jié)果:死循環(huán)管宵,因為判斷條件永遠為真。
/**
修改
*/
var a = 2
while a > 0 {
print(a)
a -= 1;
}
- repeat-while
while循環(huán)的另外一種形式是repeat-while攀甚,它和while的區(qū)別是在判斷循環(huán)條件之前箩朴,先執(zhí)行一次循環(huán)的代碼塊。然后重復循環(huán)直到條件為false秋度。
repeat-while循環(huán)的一般格式:
repeat {
statements
} while condition
repeat-while循環(huán)在OC與Swift中差異炸庞,Swift中:
- do 改為 repeat
- while后面判斷條件不存在小括號
- 判斷條件沒有非零即真
var a = 2
repeat{
print(a)
/** 自增、自減語法 在swift3.0中刪除
a++
a--
*/
a -= 1
}while a > 0
Zeb