流程控制 If- else
- 在if語句中,條件必須是一個BOOL表達式。
- 可以同時使用if和let來與可能不存在值(nil)協同運作。
- 這一類的值呈現為選擇值(optional value)。
- 選擇值可能有值,也有可能為空值(nil)。
- 可以在型別之後加上問號(?)來表示其值為選擇性,可以為空值。
- 不是選擇性型別不得設定為空值(nil)。
var testString = "abc"
testString = "def"
var testString2:String
testString2 = "xyz"
宣告optionalString變數為String型別的包裝盒,當包裝盒為空時,即為nil
var optionalString: String?
注意:當型別的包裝盒為空值時,不可以執行拆封取出其值的動作
print(optionalString!)
optionalString = "Hello"
print(optionalString!)
列印包裝盒是否為空的結果
print(optionalString == nil)
optionalString = nil
if optionalString == nil
{
print("String包裝盒裡沒有任何東西!")
}
else
{
print(optionalString!)
}
String包裝盒裡沒有任何東西!
測試
var arrDouble:[Double?] = [12.23,23.22,nil]
var arrInt:[Int]?
print(Int(arrDouble[0]!))
12
測試
var optionalName:String? = "John Appleseed"
var greeting = "Hello!"
print(optionalName)
Optional("John Appleseed")
【練習4】
if let aname = optionalName
{
greeting = "Hello, \(aname)"
}
else
{
print("Hello")
}
"Hello, John Appleseed"