1、let用于定義常量, var用于定義變量
2、變量或常量的類型會根據(jù)右側(cè)的代碼執(zhí)行結(jié)果,推倒對應(yīng)的類型,具體是什么類型可以通過 option+鼠標(biāo)左擊查看類型
3、Swift中對類型要求異常嚴(yán)格。
不同類型的數(shù)據(jù),不允許直接運(yùn)算。Swift不會做隱式轉(zhuǎn)換,所有的類型確定,都要有程序員自己負(fù)責(zé)。
let x = 10
let y = 10.5
//這里就是錯誤的
//print(x+y)
//正確的做法
print(x + Int(y))
4、類型轉(zhuǎn)化
OC中:(int)y ==>類型轉(zhuǎn)換
swift中Int() ===>結(jié)構(gòu)體的構(gòu)造函數(shù) Int對應(yīng)的是個結(jié)構(gòu)體
5、swift中不存在基本數(shù)據(jù)類型,都是結(jié)構(gòu)體。如上面的Int(y)
6、如果需要制定變量或常量的類型,也可以使用這樣的形式:let x: Double = 12
提示:在Swift開發(fā)中,極少直接使用指定類型,通常都是做自動推導(dǎo)。
7、關(guān)于let和var的選擇
如果寫一下代碼會包如下警告Variable 'a' was never mutated; consider changing to 'let' constant,翻譯過來是:a的值從來沒有被更改,建議使用let。所以正確的做法是改為var a = 10
//系統(tǒng)警告: Variable 'a' was never mutated; consider changing to 'let' constant
//翻譯:a的值從來沒有被更改,建議使用let。就是這么智能
var a = 10
let b = 20
print(a+b)
這里使用let,因?yàn)檫@里僅僅修改的是v的屬性,并沒有修改v的指針地址,所以使用let最為合理。
let v = UIView()
//這里使用let,因?yàn)檫@里僅僅修改的是v的屬性,并沒有修改v的指針地址,所以使用let最為合理。
v.backgroundColor = UIColor.red