gpt4 book ai didi

swift - 在 Swift 2.2 中,如何合并 for 循环语句?

转载 作者:搜寻专家 更新时间:2023-11-01 05:50:32 25 4
gpt4 key购买 nike

在 Swift 2.2 中,C 风格的 for 语句已被弃用,因此我修改了以下 for 循环:

for var idx=data.count-1; idx>=0; --idx

进入

for idx in (0...data.count-1).reverse()  // <--- new statement

但是,我发现,当data.count在执行期间为 0,新语句将崩溃并出现错误 fatal error: Can't form range with end < start .

是否有针对这种情况的最佳/标准编码方式?

附言我想我必须使用不同种类的循环/语法来替换我统一的 C 风格循环。欢迎对此提出任何进一步的评论或建议。

最佳答案

创建一个范围为

0 ... data.count-1

如果 data.count 则以运行时异常终止为零。这是通常最好使用 ..<运算符使一个范围在你的例子中省略了它的上限值:

0 ..< data.count

这适用于 data.count == 0以及创建一个空的在这种情况下的范围。这适用于向前和向后迭代:

for idx in 0 ..< data.count { ... }
for idx in (0 ..< data.count).reverse() { ... }

(当然 stride() 是第二种情况的明智选择。)

关于swift - 在 Swift 2.2 中,如何合并 for 循环语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36244732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com