可选项 Optional

可选项 Optional

  • 可选项可能有两个值:none、some

  • 定义常量、变量时,如果指定是可选的,表示该变量、常量可以有一个指定类型的值,也可以是nil

  • 定义常量、变量时,在类型后面加上一个?,表示变量是可选的

  • 变量可选项的默认值是nil

  • 常量可选项没有默认值

  • 定义可选项的方式:

// 原始的可选项定义
let x: Optional = 10
let y: Optional<Int> = 30
// 简单定义
// ?用来定义 z,是一个可选的Int类型,可能没有值,也可能有一个整数值
let z: Int? = 40

// 可选值在参与计算之前,必须解包
// 在变量后面加个 ! 可以强行解包
// 强行解包:从可选值中强行获取对应的非空值,如果真的是 nil, 就会崩溃
// 最常见错误:Unexpectedly found nil while unwrapping an Optional value,在解包的时候发现了nil值
print(z!)   //Optional(30)
print(x!)   // 10
print(y!)   // 40
print(x! + y!)  // 50
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容