热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

Swift:空合运算符

空合运算符(a??b):空合运算符是对可选类型a进行判断,如果a的值为nil,则返回b;如果a不为nil,则直接返回a!(对a强制拆包),不再运行b(也叫短路运算),这个运算是简化了三目运算

空合运算符(a ?? b):空合运算符是对可选类型a进行判断,如果a的值为nil,则返回b;如果a不为nil,则直接返回a!(对a强制拆包),不再运行b(也叫短路运算),这个运算是简化了三目运算符 return a != nil ? a! : b 

一般情况下,使用空合运算符需要满足两个条件: 
1.a必须是可选类型(optionals) 
2.默认值b的类型和可选类型a存储的值一致

example:

var aStr :String? = "a"
var defaultStr :String = "default"
let str = aStr ?? defaultStr
print(str)

输出: "a"

//---------------这里配合三目运算符做举例说明---------------------

//第一种
var names:String?
if names != nil {
    //不为空时强制解包,不会报错
    names!
}else {
    print("names = nil");
}

// 第二种
names = "lisi"
let name2 = (name != nil) ? names! : "zhangan"

//----------------------空合运算符方式:-----------------------------

// 如果 name4有值,就强制解包,并返回,如果没有值,就返回右面的值
var name4 = "lisi"
let ni = name4 ?? "zhangsan"

推荐阅读
author-avatar
何包蛋0727
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有