Swift5.0笔记 - 5. 可选项(Optional)

2020-11-13  本文已影响0人  南城同學

1) 定义

var name: String? = "Bob"
name = nil
var age01: Int? // 可选值默认就是nil
age = 10
age = nil

var age02: Int  //没有初始值

var array = [1, 15, 40, 29]
func get(_ index: Int) -> Int? {
    if index < 0 || index >= array.count {
        return nil
    }
    return array[index]
}
print(get(1)) // Optional(15)
print(get(-1)) // nil
print(get(4)) // nil

2)强制解包(Forced Unwrapping)

var age: Int? = 10
var ageInt: Int = age!
ageInt += 10

注意:

1. age: Int 这是一个Int类型,age: Int?不是一个Int类型,是一个盒子;

var age: Int? = 10
var num = age! + 10
print(age) //Optional(10)

2. 如果对值为nil的可选项(空盒子)进行强制解包,将会产生运行时错误。

var age: Int?
age!

3)判断可选项是否包含值

举例:

var number = Int("123")
let number = Int("123")
if number != nil {
    print("字符串转换整数成功:\(number!)") //取的时候要解包
} else {
    print("字符串转换整数失败")
}
//字符串转换整数成功:123

4)可选项绑定(Optional Binding)

待续

上一篇 下一篇

猜你喜欢

热点阅读