美文网首页
Swift 可选类型

Swift 可选类型

作者: 醉倾城1 | 来源:发表于2020-09-26 22:06 被阅读0次

    Swift 的可选(Optional)类型,用于处理值缺失的情况。

    可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值"。

    Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,以下两种声明是相等的:

    var optionalInteger: Int?var optionalInteger: Optional<Int>

    在这两种情况下,变量 optionalInteger 都是可选整数类型。注意,在类型和 ?之间没有空格。

    Optional 是一个含有两种情况的枚举,None 和 Some(T),用来表示可能有或可能没有值。

    任何类型都可以明确声明为(或者隐式转换)可选类型。

    当声明一个可选类型的时候,要确保用括号给 ? 操作符一个合适的范围。

    例如,声明可选整数数组,应该写成 (Int[])? 写成 Int[]? 会报错。

    当你声明一个可选变量或者可选属性的时候没有提供初始值,它的值会默认为 nil。

    可选项遵照 LogicValue 协议,因此可以出现在布尔环境中。

    在这种情况下,如果可选类型T?包含类型为T的任何值(也就是说它的值是 Optional.Some(T) ),这个可选类型等于 true,反之为 false。

    如果一个可选类型的实例包含一个值,你可以用后缀操作符 !来访问这个值,如下所示:

    optionalInteger = 42optionalInteger! // 42

    使用操作符!去获取值为nil的可选变量会有运行时错误。

    你可以用可选链接和可选绑定选择性执行可选表达式上的操作。如果值为nil,任何操作都不会执行,也不会有运行报错。

    让我们来详细看下以下实例来了解 Swift 中可选类型的应用:

    import Cocoavar myString:String? = nilif myString != nil {    print(myString)}else{    print("字符串为 nil")}

    以上程序执行结果为:

    字符串为 nil

    可选类型类似于Objective-C中指针的nil值,但是nil只对类(class)有用,而可选类型对所有的类型都可用,并且更安全。

    相关文章

      网友评论

          本文标题:Swift 可选类型

          本文链接:https://www.haomeiwen.com/subject/drvhuktx.html