在Swift語法的if語句中,是不能出現這種狀況的:spa
1 let optionName = "Swift" 2 if let name = optionName { 3 print("ok") 4 }
可是能夠出現下面這種:code
let optionName: String? = "Swift" if let name = optionName { print("OK") }
let name = optionNameblog
當optionName是可選類型的時候,上面這行代碼語法叫作,可選綁定io
解釋:class
「使用可選綁定(optional binding)來判斷可選類型是否包含值,若是包含就把值賦給一個臨時常量或者變量。可選綁定能夠用在if和while語句中,這條語句不只能夠用來判斷可選類型中是否有值,同時能夠將可選類型中的值賦給一個常量或者變量。」變量
因此。首先會判斷optionName中是否有值,若是有,則把值賦給name,而後進入{},不然跳過大{}語法