You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift函数中for-in循环内return与循环后return的执行逻辑困惑

关于Swift函数allTestsPassed的逻辑解释

先看你给出的代码:

func allTestsPassed(tests: [Bool]) -> Bool {
    for test in tests {
        if test == false {
            return false
        }
    }
    return true
}

这里的核心是**return语句会直接终止函数执行**:

  • 当你调用allTestsPassed([false])时,循环拿到第一个元素false,满足if test == false的条件,立刻执行return false,函数到此就结束了,后面的循环步骤和最后的return true根本没机会运行,所以输出是false。
  • 只有当数组里所有元素都是true时,循环会完整遍历每一个元素,全程没触发过循环内的return false,循环结束后才会执行最后的return true,比如调用allTestsPassed([true, true])就会返回true。

这个函数的逻辑其实就是“只要有一个测试失败(false)就直接判定全部失败,所有测试都通过(true)才判定全部通过”,是很典型的短路判断逻辑。

内容的提问来源于stack exchange,提问作者Ryu Hiroyama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 05:24:54