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

Swift中条件语句(if else)里下划线“_”的作用解析

Swift条件语句中下划线_的作用解释

在你给出的代码里,下划线_出现在可选绑定(Optional Binding)场景中,作用是忽略绑定的变量值,只关心可选值是否不为nil。

具体代码分析

var guessWasMade: Bool {
    if let _ = game.guesses[currentQuestion] {
        return true
    } else {
        return false
    }
}

结合教程说明,game.guesses是存储用户答案的数组,其中currentQuestion对应的位置是可选类型(nil表示未作答)。这段代码里的if let _ = ...逻辑很明确:

  • 只要game.guesses[currentQuestion]不为nil,可选绑定就会成功——我们不需要取出这个答案值来使用,直接返回true表示用户已作答;
  • 如果绑定失败(值为nil),则返回false表示未作答。

和其他场景下划线用法的对比

你已经了解的两种下划线用法:

  • 函数参数中的下划线:忽略参数标签,调用函数时不需要写对应的参数名;
  • for循环中的下划线:忽略迭代的元素值,只执行循环逻辑(比如for _ in 0..<3只循环3次,不用每次的数字);

而这里的用法本质是忽略可选绑定生成的变量——因为我们不需要使用这个变量的具体值,只是利用可选绑定的特性来判断值是否存在。

简化写法

这段代码可以简化成更简洁的形式,效果完全一致:

var guessWasMade: Bool {
    return game.guesses[currentQuestion] != nil
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:15:38