Swift 基础笔记 - 可选类型

2016-04-11  本文已影响31人  其实朕是一只程序猿

Optional可选

定义变量时,在类型后面添加一个?,表示该变量是可选类型
可选类型,表示该变量可能有值,也可能是 nil,默认值是 nil
在变量后添加一个 !,可以强行解包

注意: 强行解包 必须要确保解包后的值不是 nil,否则会报错.

    //swift推出可选类型(Optional), 表示一个变量或常量可能有值,也有可能没有值.时刻提醒我们变量可能没有值
 可选类型的定义: 类型的后面加?
// 定义可选类型
let num: Int? = 10086

// Optional(10086)
print(num)

// value of optional type 'Int?' not unwrapped; did you mean to use '!' or '?'?
// !表示强制拆包. 需要确定可选一定有值.
let sum = num! + 10

// 定一个可选,没有赋值
var num2: Int?

// 可选没有值用nil表示
print(num2)

// 可选没有值,进行强制拆包: fatal error: unexpectedly found nil while unwrapping an Optional value
//let sum3 = num2!

// 在对可选操作的时候需要判断是否有值.
if num2 != nil {
    let sum3 = num2! + 10
    print("sum3: \(sum3)")
} else {
    print("可选没有值")
}

// 可选绑定, 当可选有值的时候,会把num2!赋值给 num3
if let num3 = num2 {
    print(num3)
} else {    // 如果num2没有值.
    print("num2没有值")
}

上一篇下一篇

猜你喜欢

热点阅读