我們使用任何編程語言是,需要使用不同的數(shù)據(jù)類型來存儲不同的信息繁涂。變量的數(shù)據(jù)類型決定了如何將代表這些值的位存儲到計算機的內(nèi)存中妆兑。Swift 編程中可以在聲明中指定變量的數(shù)據(jù)類型呀打,她也支持類型推斷肪虎。所有變量都具有數(shù)據(jù)類型,這樣才能決定存儲哪種類型的數(shù)據(jù)哮幢。
內(nèi)置數(shù)據(jù)類型
Swift 提供了非常豐富的數(shù)據(jù)類型带膀,以下列出了常見的幾種數(shù)據(jù)類型:
- Int
一般來說,你不需要專門指定整數(shù)的長度橙垢。Swift 提供了一個特殊的整數(shù)類型Int垛叨,長度與當(dāng)前平臺的原生字長相同:- 在32位平臺上,Int和Int32長度相同柜某。
- 在64位平臺上嗽元,Int和Int64長度相同。
- UInt:無符號類型 與Int類似喂击,長度與當(dāng)前平臺的原生字長相同剂癌。
- 浮點數(shù):Float 、Double
- Double 表示64位浮點數(shù)翰绊。當(dāng)你需要存儲很大或者很高精度的浮點數(shù)時請使用此類型佩谷。
- Float 表示32位浮點數(shù)。精度要求不高的話可以使用此類型监嗜。
- Double精確度很高谐檀,至少有15位數(shù)字,而 Float 最少只有6位數(shù)字裁奇。選擇哪個類型取決于你的代碼需要處理的值的范圍桐猬。
- 布爾值:Bool Swift 有兩個布爾常量,true 和 false框喳。
- 字符串:String 例如:”hello world"
- 字符: Character 例如:”C"
- 可選類型:Optional 使用可選類型來處理值可能缺失的情況课幕∠锰常可選類型表示有值或沒有值五垮。
Swift 其他數(shù)據(jù)特征
- 類型別名:類型別名通過使用 typealias 關(guān)鍵字來定義。例如:
typealias Feet = Int //Feet 是Int類型的別名
- 類型安全:Swift 是一個類型安全(type safe)的語言杜秸。它會在編譯你的代碼時進行類型檢查(type checks)放仗,并把不匹配的類型標(biāo)記為錯誤。這可以讓你在開發(fā)的時候盡早發(fā)現(xiàn)并修復(fù)錯誤撬碟。
- 類型推斷:當(dāng)你要處理不同類型的值時诞挨,類型檢查可以幫你避免錯誤莉撇。然而,這并不是說你每次聲明常量和變量的時候都需要顯式指定類型惶傻。如果你沒有顯式指定類型棍郎,Swift 會使用類型推斷(type inference)來選擇合適的類型。例如银室,如果你給一個新常量賦值42并且沒有標(biāo)明類型涂佃,Swift 可以推斷出常量類型是Int,因為你給它賦的初始值看起來像一個整數(shù):
let age = 42 // age 被推斷為Int類型