步长值大于1的For循环

时间:2016-03-22 16:00:29

标签: swift for-loop

在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
}

3 个答案:

答案 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 */