Swift task 修辞符的使用和代码演示

14 min read

Swift 中的修辞符有以下几种:

  1. 空合并运算符(nil coalescing operator):用 ?? 表示,其作用是如果左侧表达式不为 nil,则返回左侧表达式的值,否则返回右侧表达式的值。

代码演示:

let foo: String? = nil
let bar: String = "Hello"
let result = foo ?? bar
print(result) // 输出 "Hello"
  1. 可选链(optional chaining):用 ? 表示,其作用是在访问可选类型属性、方法或下标时,如果可选项没有值,则返回 nil 而不是产生运行时错误。如果可选项有值,则可继续使用点号(.)来访问它的属性、方法或下标。

代码演示:

class Person {
    var address: Address?
}

class Address {
    var city: String?
}

let person = Person()
let city = person.address?.city // 如果 address 为 nil,则 city 的值为 nil;否则 city 的值为 address 的 city 属性
  1. 隐式解包可选值(implicitly unwrapped optionals):用 ! 表示,其作用是将一个可选类型的值解包为非可选类型的值。如果一个隐式解包可选值为 nil,则尝试访问它的值将导致运行时错误。

代码演示:

let foo: String! = "Hello" // 使用隐式解包可选值
let bar: String = foo // foo 自动解包为非可选类型的值
print(bar) // 输出 "Hello"

以上是 Swift 中常用的修辞符,并给出了代码演示。