一:整數(shù)
整數(shù)就是沒有小數(shù)部分的數(shù)字赂苗,比如 42 和-23愉耙。整數(shù)可以是有符號(hào)(正、負(fù)拌滋、零)或者無 符號(hào)(正朴沿、零)。
Swift 提供了 8败砂,16赌渣,32 和 64 位的有符號(hào)和無符號(hào)整數(shù)類型。這些整數(shù)類型和 C 語言的命名方式很像昌犹,比如 8 位無符號(hào)整數(shù)類型是 UInt8坚芜,32 位有符號(hào)整數(shù)類型是 Int32。就像 Swift 的其他類型一樣斜姥,整數(shù)類型采用大寫命名法鸿竖。
1. 整數(shù)范圍
你可以訪問不同整數(shù)類型的 min 和 max 屬性來獲取對(duì)應(yīng)類型的最大值和最小值:
let minValue = UInt8.min // minValue 為 0,是 UInt8 類型的最小值
let maxValue = UInt8.max // maxValue 為 255铸敏,是 UInt8 類型的最大值
2. Int
一般來說缚忧,你不需要專門指定整數(shù)的長(zhǎng)度。Swift 提供了一個(gè)特殊的整數(shù)類型 Int杈笔,長(zhǎng)度與當(dāng)前平臺(tái)的原生字長(zhǎng)相同:
- 在 32 位平臺(tái)上闪水,Int 和 Int32 長(zhǎng)度相同。
- 在 64 位平臺(tái)上蒙具,Int 和 Int64 長(zhǎng)度相同球榆。
除非你需要特定長(zhǎng)度的整數(shù)朽肥,一般來說使用 Int 就夠了。這可以提高代碼一致性和可復(fù)用性持钉。即使是在 32 位平臺(tái)上衡招,Int 可以存儲(chǔ)的整數(shù)范圍也可以達(dá)到- 2147483648~2147483647,大多數(shù)時(shí)候這已經(jīng)足夠大了右钾。
3. UInt
Swift 也提供了一個(gè)特殊的無符號(hào)類型 UInt蚁吝,長(zhǎng)度與當(dāng)前平臺(tái)的原生字長(zhǎng)相同:
- 在 32 位平臺(tái)上,UInt 和 UInt32 長(zhǎng)度相同舀射。
- 在 64 位平臺(tái)上,UInt 和 UInt64 長(zhǎng)度相同怀伦。
注意:盡量不要使用 UInt脆烟,除非你真的需要存儲(chǔ)一個(gè)和當(dāng)前平臺(tái)原生字長(zhǎng)相同的無符號(hào)整
數(shù)。除了這種情況房待,最好使用 Int邢羔,即使你要存儲(chǔ)的值已知是非負(fù)的。統(tǒng)一使用 Int 可以提 高代碼的可復(fù)用性桑孩,避免不同類型數(shù)字之間的轉(zhuǎn)換拜鹤,并且匹配數(shù)字的類型推測(cè),請(qǐng)參考類
型安全和類型推測(cè)流椒。
二:浮點(diǎn)數(shù)
浮點(diǎn)數(shù)是有小數(shù)部分的數(shù)字敏簿,比如 3.14159,0.1 和-273.15宣虾。
浮點(diǎn)類型比整數(shù)類型表示的范圍更大惯裕,可以存儲(chǔ)比 Int 類型更大或者更小的數(shù)字。Swift 提 供了兩種有符號(hào)浮點(diǎn)數(shù)類型:
- Double 表示 64 位浮點(diǎn)數(shù)绣硝。當(dāng)你需要存儲(chǔ)很大或者很高精度的浮點(diǎn)數(shù)時(shí)請(qǐng)使用此類型蜻势。
- Float 表示 32 位浮點(diǎn)數(shù)。精度要求不高的話可以使用此類型鹉胖。
注意:Double 精確度很高握玛,至少有 15 位數(shù)字,而 Float 最少只有 6 位數(shù)字甫菠。選擇哪個(gè)類型取決于你的代碼需要處理的值的范圍挠铲。
關(guān)注公眾號(hào) [Swift 社區(qū)] 獲取文章示例代碼,添加微信:[FBY-fan] 拉你進(jìn)群交流淑蔚。