-
定義常量,一經指派不允許再修改let
-
定義變量,指派之後仍然可以修改var
// 定義常量并且直接設定數值
let x: Int =
// 常量數值一經設定,不能修改,以下代碼會報錯
// x = 30
// 使用 `: 類型`,僅僅隻定義類型,而沒有設定數值
let y: Int
// 常量有一次設定數值的機會,以下代碼沒有問題,因為 `y` 還沒有被設定數值
y =
// 一旦設定了數值之後,則不能再次修改,以下代碼會報錯,因為 `y` 已經被設定了數值
// y = 50
print(x + y)
// 變量設定數值之後,可以繼續修改數值
var z: Int
z =
z =
print(x + y + z)
自動推導
- Swift 能夠根據右邊的代碼,推導出變量的準确類型
- 通常在開發時,不需要指定變量的類型
- 如果要指定變量,可以在變量名後使用
,然後跟上變量的類型:
重要技巧: Option + Click
可以檢視變量的類型
沒有隐式轉換!!!
- Swift 對資料類型要求異常嚴格
- 任何時候,都不會做隐式轉換
如果要對不同類型的資料進行計算,必須要顯式的轉換
// 注意:Int & Double 都是結構體,而不是基本資料類型
// 整數預設的類型是 Int
let x: Int =
// 小數的預設類型是 Double
let y: Double =
// Binary operator '+' cannot be applied to operands of type 'Int' and 'Double'
// 不同資料類型之間不能直接計算
// print(x + y)
// 如果要對不同類型的資料進行計算,必須要顯式的轉換
print(x + Int(y))
print(Double(x) + y)
let & var 的選擇
- 應該盡量先選擇常量,隻有在必須修改時,才需要修改為
var
- 在 Xcode 7.0 中,如果沒有修改變量,Xcode 會提示修改為
let