在Swift中,有没有办法创建一个步长值大于1的for循环?
在Java中,它将是:
for(int i = 0; i < 10; i += 2){
System.out.println(i);
}
我发现的唯一方法是使用while循环。
var i = 1
while i < 10 {
print(i)
i = i + 2
}
答案 0 :(得分:12)
您可以使用stride(from:to:by:)
函数在Swift中实现此目的:
for i in stride(from: 0, to: 9, by: 2) {
print(i)
}
或使用forEach
关闭:
stride(from: 0, to: 9, by: 2).forEach {
print($0)
}
答案 1 :(得分:3)
更新Swift-3语法
for i in stride(from:0, to: 20, by: 5) {
print(i)
}
答案 2 :(得分:2)
您可以使用stride
0.stride(through: 10, by: 2).forEach {
print($0)
}
/* 0
2
4
6
8
10 */