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


目录
相关文章
|
10月前
|
数据处理 Swift
Swift 中的运算符和表达式是构建程序逻辑的基础,包括算术、关系、逻辑、位运算符及赋值运算符,用于数值计算、条件判断、位操作、赋值与更新等
Swift 中的运算符和表达式是构建程序逻辑的基础,包括算术、关系、逻辑、位运算符及赋值运算符,用于数值计算、条件判断、位操作、赋值与更新等。掌握这些工具是编写高效代码的关键。
129 1
|
10月前
|
Java 编译器 Swift
Swift 运算符
10月更文挑战第25天
77 0
|
数据处理 Swift
【Swift 开发专栏】Swift 中的运算符与表达式
【4月更文挑战第30天】Swift编程中的运算符和表达式是构建程序逻辑的核心。主要运算符包括算术(+,-,×,÷,%)、关系(==,!=,>,<,>=,<=)、逻辑(&&,||,!)、位(&,|,^,~,<<,>>)和赋值(=,+=等)运算符。表达式分为算术、关系、逻辑、位和赋值类型,用于数学计算、条件判断、位操作、变量赋值及复杂逻辑。熟练掌握这些基础知识对编写高效代码至关重要。
112 1
|
存储 Swift 索引
11 Swift运算符
Swift运算符
116 0
|
存储 Swift
Swift实用小册25: 高级运算符之位运算符的使用
在本章中,你将学会高级运算符的位运算符的使用方法。
308 0
Swift实用小册25: 高级运算符之位运算符的使用
|
前端开发 Swift
Swift实用小册02:运算符的使用
Swift实用小册02:运算符的使用
248 0
Swift实用小册02:运算符的使用
|
存储 Go Swift
Swift5.0 - day6-错误处理、泛型、高级运算符
Swift5.0 - day6-错误处理、泛型、高级运算符
195 0
Swift5.0 - day6-错误处理、泛型、高级运算符
【Swift4】(2) 运算符 | 字符串
【Swift4】(2) 运算符 | 字符串
162 0
|
Swift
Swift5.1—自定义运算符
Swift5.1—自定义运算符
196 0
|
存储
Swift5.1—空合运算符(Nil Coalescing Operator)
Swift5.1—空合运算符(Nil Coalescing Operator)
190 0

相关课程

更多