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

Swift中的三元运算:问号'?'是什么含义?

Swift中的三元条件运算符详解

Hey Jacob, great question! Let's break down that line of code and your questions clearly:

1. 问号?到底代表什么?

那行代码 let title: String = isPaused ? "Start" : "Pause" 其实是一种极简的条件判断写法,完全等价于下面的if-else逻辑:

let title: String
if isPaused {
    title = "Start"
} else {
    title = "Pause"
}

这里的?就像一个“分支触发点”:它前面的isPaused是布尔判断条件,要是条件为true,就会选用?后面的第一个值(也就是"Start");要是条件为false,就会选用:后面的第二个值("Pause")。

2. 这属于类似switch的语句吗?

严格来说它不属于switch语句,但两者都是条件判断逻辑的实现方式,只是适用场景不同:

  • 三元运算符专门用来处理二选一的简单判断,一行就能完成赋值或返回操作,极致简洁
  • switch语句则更适合**多分支(三个及以上)**的复杂判断,还能支持范围匹配、模式匹配等高级玩法

所以如果只是简单的真/假二选一,三元运算符比if-else或switch都更高效顺手。

3. 这种运算的正式名称是什么?

它的正式名称是三元条件运算符(Ternary Conditional Operator),因为它是Swift里唯一一个需要三个操作数的运算符:布尔判断条件、true分支的返回值、false分支的返回值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:23:54