【问题标题】:I have error in swift loop [duplicate]我在快速循环中有错误[重复]
【发布时间】: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 loops


    【解决方案1】:

    您可以使用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)
    }
    

    【讨论】:

    • 第一个版本可能看起来“Swifty”,但非常无效。 z 以 1 为增量递增,每个值都需要额外的 % 操作以确定是否应该执行身体。 stride()——就像链接到的副本一样——是一个更好的解决方案。
    • 感谢您的帮助,效果很好,但是如果我想将数字增加5,如果我想减少数字怎么办?例如从 10 到 0 ?
    • @zainab 简单,从 10 到 0 跨度 -1!
    猜你喜欢
    • 1970-01-01
    • 2012-01-07
    • 2019-02-06
    • 2017-05-20
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多