變量和常量的默認(rèn)值
//let的默認(rèn)值要賦值
let num1 : Int?
num1 = 10
//var的默認(rèn)值是nil
var num2 :Int?
可選項
如下面的demo1方法所示,使用了可選項便要解包,但是如果用戶傳入了nil,那么強行解包會崩潰,使用第二種解包方式為佳
demo1(x: 13, y: nil)
func demo1(x:Int?,y:Int?) {
//print(x! + y!) //第一種強行解包有風(fēng)險
print((x ?? 0) + (y ?? 0)) //第二種
}
(重點!!!!!!!!)使用了可選項,便要解包比較麻煩,到處都是"?"號,"!"號,所以蘋果推出了二種方法配合"可選項",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")
}
}
未完