Mar*_*eIV 1 for-loop continue swift swift4
考虑以下代码:
let value = "ABCDE"
for letter in value {
print(letter)
}
Run Code Online (Sandbox Code Playgroud)
这打印:
A
B
C
D
E
Run Code Online (Sandbox Code Playgroud)
现在考虑假设的代码,当它找到“2”时,它会在循环中向前跳过 2。这是显示我要问的内容的伪代码......
let value = "AB2DE"
for letter in value {
if letter == "2" {
continue 2 <-- Does Swift support something similar to this?
}
print(letter)
}
Run Code Online (Sandbox Code Playgroud)
上面的输出看起来像这样:
A
B
E
Run Code Online (Sandbox Code Playgroud)
注意:当然,我可以通过管理跳过计数器轻松实现此目的,然后使用continue,在进行时递减计数器,或者,如果源支持下标,正如其他人建议的那样,我可以使用循环while来管理自己的索引。有多种方法可以解决这个假设的问题,但这不是我问题的目的。
我的问题是专门查明该语言是否原生支持一次跳过 for 循环的多次迭代(例如类似continueManyor的东西continue x)。
不,您无法更改for-in循环在循环内的迭代方式。
在这种情况下,带有您自己的索引计数器的循环while可能是最简单的解决方案。sequence(first:next:)尽管您可以循环使用for-in。
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |