Swift - 可选型

//Swift  Optional属性  允许变量为空(nil)
var errorCode : String? = "404"
print(errorCode)

//使用Optional属性需要先对变量解包
//Unwrap

//1.强制解包 变量末尾加感叹号  程序员确定这个变量的值不为空的时候 如果为空程序会报错
"The errorCode is " + errorCode!

//2.if-else 解包
if errorCode != nil{
    errorCode
}else{
    errorCode
}


//3.if let解包
if let UnwrappedErrorCode = errorCode{
    print(UnwrappedErrorCode)
}
else{
    "no error"
}


//4.if let 可以同时解包多个变量

//第一种嵌套
var errorMessage : String? = "Not Found"
if let errorCode = errorCode{
    if let errorMessage = errorMessage{
        "The errorCode is " + errorCode + "\nThe errorMessage is " + errorMessage
    }
}

//第二种  同时解包+逻辑判断
if let errorCode = errorCode,
    errorMessage = errorMessage where errorCode == "404"{
        
        //简单的剥离其他情况  让开发者能够集中精力处理最核心的逻辑部分
        print("Page not found")
        
}

你可能感兴趣的:(Swift - 可选型)