例如,Java for循环:
for(int i=0; i<5; i+=1){
//
}
转换为Swift
for index in 0..<5 {
}
但如果是i+=2
?
我是Swift的新手..也许这是一个愚蠢的问题,但如果你回答它会很感激,谢谢! :-)
答案 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