Swift中的i + = 2 for循环怎么样?

时间:2017-11-29 09:05:22

标签: swift for-loop

例如,Java for循环:

for(int i=0; i<5; i+=1){
   //
}

转换为Swift

for index in 0..<5 {
}

但如果是i+=2

我是Swift的新手..也许这是一个愚蠢的问题,但如果你回答它会很感激,谢谢! :-)

3 个答案:

答案 0 :(得分:11)

检查

for index in stride(from: 0, to: 5, by: 2){
    print(index)
}

答案 1 :(得分:2)

如果你的for循环做了比添加常量值更复杂的事情来索引每次迭代,你可以使用类似的东西:

假设你有这个for循环:

for(index = initial; condition(index); mutation(index)){
   //
}

哪里

  • initial - T
  • 类型的初始值常量
  • condition - 函数(T) -> Bool,用于检查循环是否应该结束
  • mutation - 函数(T) -> T,每次迭代都会更改索引值

然后它将是:

for index in sequence(first: initial, next: { current in
    let next = mutation(current)
    return condition(next) ? next : nil
}) {
   //
}

答案 2 :(得分:1)

你也可以这样使用。

var first = 0
var last = 10
var add = 2
for i in sequence(first: first, next: { $0 + add })
.prefix(while: { $0 <= last }) {
    print(i)

} 

输出将为:0,2,4,6,8,10