整數(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ù)類型采用大寫命名法。
你可以訪問不同整數(shù)類型的min和max屬性來獲取對(duì)應(yīng)類型的最大值和最小值:
let minValue = UInt8.min // minValue 為 0,是 UInt8 類型的最小值
let maxValue = UInt8.max // maxValue 為 255,是 UInt8 類型的最大值
一般來說,你不需要專門指定整數(shù)的長度。Swift 提供了一個(gè)特殊的整數(shù)類型Int,長度與當(dāng)前平臺(tái)的原生字長相同:
Int和Int32長度相同。Int和Int64長度相同。
除非你需要特定長度的整數(shù),一般來說使用Int就夠了。這可以提高代碼一致性和可復(fù)用性。即使是在32位平臺(tái)上,Int可以存儲(chǔ)的整數(shù)范圍也可以達(dá)到-2147483648~2147483647,大多數(shù)時(shí)候這已經(jīng)足夠大了。
Swift 也提供了一個(gè)特殊的無符號(hào)類型UInt,長度與當(dāng)前平臺(tái)的原生字長相同:
UInt和UInt32長度相同。UInt和UInt64長度相同。注意:
盡量不要使用
UInt,除非你真的需要存儲(chǔ)一個(gè)和當(dāng)前平臺(tái)原生字長相同的無符號(hào)整數(shù)。除了這種情況,最好使用Int,即使你要存儲(chǔ)的值已知是非負(fù)的。統(tǒng)一使用Int可以提高代碼的可復(fù)用性,避免不同類型數(shù)字之間的轉(zhuǎn)換,并且匹配數(shù)字的類型推斷,請參考類型安全和類型推斷。