變量和常量的默認(rèn)值
//let的默認(rèn)值要賦值
let num1 : Int?
num1 = 10
//var的默認(rèn)值是nil
var num2 :Int?
可選項(xiàng)
如下面的demo1方法所示避消,使用了可選項(xiàng)便要解包岩喷,但是如果用戶傳入了nil,那么強(qiáng)行解包會(huì)崩潰,使用第二種解包方式為佳
demo1(x: 13, y: nil)
func demo1(x:Int?,y:Int?) {
//print(x! + y!) //第一種強(qiáng)行解包有風(fēng)險(xiǎn)
print((x ?? 0) + (y ?? 0)) //第二種
}
(重點(diǎn)!!!!!!!!)使用了可選項(xiàng),便要解包比較麻煩类少,到處都是"?"號(hào)硫狞,"!"號(hào)财忽,所以蘋果推出了二種方法配合"可選項(xiàng)"即彪,guard let 和 if let,筆者推崇guard let,少一層循環(huán)
demo1(name: "王一", age: nil)
//guard let
func demo1(name : String?,age : Int?) {
guard let name = name,let age = age else {
print("姓名or年齡為nil")
return
}
print(name+"的年齡為"+String(age))
}
//if let
func demo2(name : String?,age : Int?) {
if let name = name,let age = age{
print(name + "的年齡是" + "\(age)")
}else{
print("姓名or年齡為nil")
}
}
未完