您好,登錄后才能下訂單哦!
可選類型
什么是可選類型?
可以被賦予nil值的類型,在類型后添加問號(?)
如Int類型的值為整型數,但不太好表示“空”的含義,Int?可以賦值為整型數和nil值
如:
var age:Int? = 3
var name:String? = nil
使用可選類型
print(age) //Optional(3)
print(age!) //3
!運算,用于解綁可選類型變量的值
注意:如果age為nil,使用!解綁將使程序崩潰
再如:
var age1:Int? = 3
var age2:Int;
age2 = age1!
隱式解綁的可選類型
定義變量時,將?替換成為!,如:
var age:Int! = 3
print(age) //3
print(age!) //3
可選鏈中的解綁
如:
class Department {
var no : Int = 0
var name:String = "neuedu"
var com:Company? = nil
}
class Company {
var no : Int = 0
var name : String? = "neusoft"
}
var dep = Department()
print(dep.com!.name)
dep.com使用!解綁時,如果為nil,程序會報錯崩潰
這種情況下,可以使用?代替!解綁,如果為nil,則整個表達式為nil,即:
print(dep.com?.name) // nil
可選鏈使用潛在的問題:使用了?解析可選鏈后,表達式返回的只能是可選類型
如dep.com!.name? 想要返回的類型是String,但實際只能返回String?
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。