swift学习笔记之可选值和隐式可选解析

//可选值,可选类型,在swfit独有的,是OC中没有的,元组也是OC没有的


//可选值 

//optValue 有值,没有值(nil) ,nil在oc中是空对象
//可选值可以用if语句进行判断

var optValue:Int?=8

if (optValue != nil) {
print(optValue)
}

//表示对可选值进行强制解析,必须后面加!
var sva:Int=optValue!
print(sva)

//可选绑定,防止强制解析为空时运行出现错误
//比强制解析要安全
if let svalue=optValue
{
print(svalue)
}

//隐式解析可选
//隐式可选不需要强制解包,也不用可选绑定
//也是可选类型.一种是有值,另种为没有值(nil)
//隐式可选解包也是危险的,当为nil时,运行时会蹦,只有确定不为空用,要特别注意

var impOptValue:Int!=8

//可以当做可选类型进行提取值
if (impOptValue != nil)
{
    print(impOptValue)
}

if let iValue=impOptValue
{
    print(iValue)
}
//编译不会报错,不需要加!,加!是可以的,
//不加!,不需要解包,解包是需要花费时间的,效率低
//往往跟函数,结构体,跟类才可以看到好处
var sValue=impOptValue

你可能感兴趣的:(swift学习笔记之可选值和隐式可选解析)