Swift5.1—空合运算符(Nil Coalescing Operator)

简介: Swift5.1—空合运算符(Nil Coalescing Operator)

空合运算符(a ?? b)将对可选类型 a 进行空判断,如果a包含一个值就进行解包,否则就返回一个默认值 b。表达式a必须是Optional类型。默认值b的类型必须要和a存储值的类型保持一致。


空合运算符是对以下代码的简短表达方法。

a != nil ?  a! : b


空合运算符(??)提供了一种更为优雅的方式去封装条件判断和解封两种行为,显得简洁以及更具可读性。


注:如果a为非空值(non-nil),那么值b将不会被计算。这也就是所谓的短路求值。

下文例子采用空合运算符,实现了在默认颜色名和可选自定义颜色名之间抉择。

let defalutColorName = "red"
//默认值为nil
var userDedinedColorName: String?
//userDefinedColorName的值为空,所以colorNameToUse的值为“red”
var colorNameToUse = userDefinedColorName ?? defaultColorName


目录
相关文章
|
23天前
|
Java 编译器 Swift
Swift 运算符
10月更文挑战第25天
26 0
|
6月前
|
数据处理 Swift
【Swift 开发专栏】Swift 中的运算符与表达式
【4月更文挑战第30天】Swift编程中的运算符和表达式是构建程序逻辑的核心。主要运算符包括算术(+,-,×,÷,%)、关系(==,!=,>,<,>=,<=)、逻辑(&&,||,!)、位(&,|,^,~,<<,>>)和赋值(=,+=等)运算符。表达式分为算术、关系、逻辑、位和赋值类型,用于数学计算、条件判断、位操作、变量赋值及复杂逻辑。熟练掌握这些基础知识对编写高效代码至关重要。
51 1
|
存储 Swift 索引
11 Swift运算符
Swift运算符
75 0
|
存储 Swift
Swift实用小册25: 高级运算符之位运算符的使用
在本章中,你将学会高级运算符的位运算符的使用方法。
247 0
Swift实用小册25: 高级运算符之位运算符的使用
|
前端开发 Swift
Swift实用小册02:运算符的使用
Swift实用小册02:运算符的使用
202 0
Swift实用小册02:运算符的使用
|
存储 Go Swift
Swift5.0 - day6-错误处理、泛型、高级运算符
Swift5.0 - day6-错误处理、泛型、高级运算符
134 0
Swift5.0 - day6-错误处理、泛型、高级运算符
【Swift4】(2) 运算符 | 字符串
【Swift4】(2) 运算符 | 字符串
128 0
|
Swift
Swift5.1—自定义运算符
Swift5.1—自定义运算符
142 0
|
存储
Swift5.1—空合运算符(Nil Coalescing Operator)
Swift5.1—空合运算符(Nil Coalescing Operator)
133 0
|
Swift C语言
Object-C--->Swift之(三)nil合并运算符、范围运算符
nil合并运算符 在Swift中引入一种新的运算符nil合并运算符:??,它的格式如下: let c = a??b 它的含义如下:判断可选变量a是否为nil,如果a不为nil,c就等于a所包装的真实值,如果a为nil,则程序会返回b的值。
808 0