Swift3.0中循环的介绍:
- 循环在开发中是必不可少的,经常会使用到循环
- 常见的循环有for循环、while循环、repeat-while循环
for循环的写法
在Swift中,for循环最常规的写法:
for var i = 0; i < 10; i = i + 1{
print("i")
}
当然上述代码使用了类型推导!其中的i = i + 1
可以写为i++
,这里可以看出和OC的不同之处,for后面的小括号也是不存在的。
注意:上述代码在Swift3.0中已经弃用,也就是说在Swift3.0中这样写会报错。变量自增、自减运算也不再适用。
/**
C 语言的格式已经在swift3.0 删除
*/
for var i = 0; i < 10; i++{
print("i")
}
For-in循环
在OC中For-in叫做快速遍历,Swift中也存在此种循环,例如
/**
for-in循环
*/
let str = "hello world"
for c in str.characters {
print(c)
}
结果:
h
e
l
l
o
w
o
r
l
d
区间循环
- 开区间循环
0..<2
表示0~2区间,不包含数字2。
for i in 0..<2 {
print("hi")
}
结果:
hi
hi
- 闭区间循环
0...2
表示0~2区间,包含数字2。
for i in 0...2 {
print("hi")
}
结果:
hi
hi
hi
如果你不需要区间序列内每一项的值,你可以使用下划线(_)替代变量名来忽略这个值:
for _ in 0..<2 {
print("hello world!")
}
结果:
hello world!
hello world!
While循环
while循环会一直运行一段语句直到条件变成false。这类循环适合使用在第一次迭代前,迭代次数未知的情况下。Swift 提供两种while循环形式:
-
while循环,每次在循环开始时计算条件是否符合;
-
repeat-while循环(也就是OC的do-while循环),每次在循环结束时计算条件是否符合。
while循环从计算一个条件开始。如果条件为true,会重复运行一段语句,直到条件变为false。(不存在非0即真的情况) -
while
while循环从计算一个条件开始。如果条件为true,会重复运行一段语句,直到条件变为false。
while循环的一般格式:
while condition {
statements
}
while循环在OC与Swift中差异,Swift中:
- while后面不存在小括号
- 判断条件没有非零即真
var a = 2
while a > 0 {
print(a)
}
结果:死循环,因为判断条件永远为真。
/**
修改
*/
var a = 2
while a > 0 {
print(a)
a -= 1;
}
- repeat-while
while循环的另外一种形式是repeat-while,它和while的区别是在判断循环条件之前,先执行一次循环的代码块。然后重复循环直到条件为false。
repeat-while循环的一般格式:
repeat {
statements
} while condition
repeat-while循环在OC与Swift中差异,Swift中:
- do 改为 repeat
- while后面判断条件不存在小括号
- 判断条件没有非零即真
var a = 2
repeat{
print(a)
/** 自增、自减语法 在swift3.0中删除
a++
a--
*/
a -= 1
}while a > 0
Zeb
网友评论