//可选值,可选类型,在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