【发布时间】:2016-10-31 07:05:24
【问题描述】:
我是 swift 的新手,我尝试制作这样的循环
for var z = 0 ; z <= 25 ; z = z + 5 {
print (z)
}
把它给我这个错误
Loop.playground:5:1: 错误:在 Swift 3 中删除了 C 风格的 for 语句
我该如何解决?
【问题讨论】:
我是 swift 的新手,我尝试制作这样的循环
for var z = 0 ; z <= 25 ; z = z + 5 {
print (z)
}
把它给我这个错误
Loop.playground:5:1: 错误:在 Swift 3 中删除了 C 风格的 for 语句
我该如何解决?
【问题讨论】:
您可以使用where 子句!
for z in 0...25 where z % 5 == 0 {
print(z)
}
它基本上过滤掉 z 值,只留下可被 5 整除的 z 值,这就是你想要的。
这比 C 风格的 for 循环要快。
另一种方法是使用stride:
for i in stride(from: 0, through: 25, by: 5) {
print(i)
}
【讨论】:
z 以 1 为增量递增,每个值都需要额外的 % 操作以确定是否应该执行身体。 stride()——就像链接到的副本一样——是一个更好的解决方案。