swift中!和?swift
swift定義常量變量時只是定義了,並不會默認賦值,(也就是沒有初始化,變量在使用前必須初始化,不然會報錯 variable ‘變量名/常量名’ used before being initialized). 除了可選類型會默認賦值爲nil.it
swift中一個很重要的optional的類型,它是個結構體,倆個值None和Some(T).io
一個表示有某個特定類型的值,一個不存在值,即nil.變量
swift只有定義爲optional類型的變量或常量才能夠賦值爲nil,其餘任何類型定義的非可選的變量或常量都不能夠。sed
?定義的必須解析纔可用值。!定義的必須有值才能使用,不然跟強制解析一個爲nil的可選變量同樣會報錯。結構體