加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift操作符??

发布时间:2020-12-14 05:54:22 所属栏目:百科 来源:网络整理
导读:了解了?和!,又遇到??,说实话感觉很晕~~感觉??就像三目运算符 ?? 操作符的左边是一个 Optional 值,右边是一个普通值,它的作用就是,如果左边的 Optional 值为 nil, 那么就使用右边的普通值作为返回值,如果左边的 Optional 不为 nil,则返回左边的 O

了解了?和!,又遇到??,说实话感觉很晕~~感觉??就像三目运算符

?? 操作符的左边是一个 Optional 值,右边是一个普通值,它的作用就是,如果左边的 Optional 值为 nil, 那么就使用右边的普通值作为返回值,如果左边的 Optional 不为 nil,则返回左边的 Optional 解包后的值。

例如

var a:Int?
print(a ?? 2)

打印2,因为a是可选类型,而且没有给显式赋值操作,所以为nil。当??左边optional值为nil,则取??右边的值。故打印2

同理

var a:Int? = 100
print(a ?? 2)

打印100,因为可选类型a显式赋值为100,??左边optional值不为nil,所以为解包后的值,即100

个人理解??相当于三目运算。例如上边第一个例子可以转换成

print(a == nil ? 2 : a)

即如果a==nil成立,那么取2,如果a==nil不成立,那么取a值

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读