Swift 數據類型
在Swift 4編程語言中,創建變量或常量時使用數據類型。愛掏網 - it200.com在每種編程語言中,我們都必須使用不同類型的變量來存儲數據。愛掏網 - it200.com變量是保留用于存儲值的內存位置。愛掏網 - it200.com這意味著當你使用一個變量時,你在內存中儲存了一些空間。愛掏網 - it200.com
數據類型是變量可以存儲的數據(值)的類型。愛掏網 - it200.com這些數據可以是文本/字符串(”JavaTpoint”)或數字(12.34)或只是位(0和1)。愛掏網 - it200.com我們必須定義數據類型以確保只存儲定義的類型的數據。愛掏網 - it200.com
示例
假設您需要存儲學生的數據,其中需要存儲他的姓名和成績。愛掏網 - it200.com成績是一個 數字(即70) ,姓名是一個 字符串(即Alex) ,所以您需要創建兩個變量或常量來存儲這些數據。愛掏網 - it200.com
在Swift 4中,您可以通過聲明變量和數據類型來做到這一點:
var Marks:Int = 70
var Name:String = "Alex"
在這里,我們聲明了一個類型為 Int 的 Marks 變量,它存儲值 70,以及一個類型為 String 的 Name 變量,它存儲值 Alex。愛掏網 - it200.com
如果您使用以下語法,將會出現編譯時錯誤:
var Score:Int = "Alex"
它將顯示一個消息,表明無法將類型為 ‘String’ 的值轉換為指定類型 ‘Int’。愛掏網 - it200.com
這表明一個數字只能存儲在 Int 數據類型中,而不能存儲在 String 數據類型中。愛掏網 - it200.com
數據類型的大小
數據類型的大小指定了可以存儲在給定變量或常量中的數據的大小。愛掏網 - it200.com數據類型的大小以位為單位來衡量,并且可以存儲的值最多為2的次方個比特。愛掏網 - it200.com
因此,一個 數據類型大小為1位 可以存儲2的1次方=2個值:0或1。愛掏網 - it200.com
0 -> a or 0
1 -> b or 1
數據類型大小為2位 可以存儲最多22 = 4個值。愛掏網 - it200.com這些值分別是:(00,01,10,11)。愛掏網 - it200.com它可以表示為:
00 -> a or 0
01 -> b or 1
11 -> c or 2
10 -> d or 3
與n位系統的數據類型相同,可以存儲最多2的n次方個值。愛掏網 - it200.com
Swift 4 數據類型
最常見的Swift 4數據類型有:
布爾型數據類型
- 布爾型數據類型只能存儲兩個值,即true或false。愛掏網 - it200.com
- 默認值為False。愛掏網 - it200.com
- 通常用于if-else語句中。愛掏網 - it200.com
布爾型數據類型示例
let result:Bool = true
print(result)
輸出:
true
整數數據類型
- 整數數據類型可以存儲包括零在內的正數、負數,但沒有小數。愛掏網 - it200.com
- 默認值為0。愛掏網 - it200.com
- 大小取決于平臺類型,可能是32位或64位。愛掏網 - it200.com
- 范圍: -2,147,483,648到2,147,483,647(32位平臺) -9223372036854775808到9223372036854775807(64位平臺)
- 整數數據類型有許多其他變體,比如UInt、Int8、Int16等,如果您想特定指定存儲類型,可以使用它們。愛掏網 - it200.com
整數數據類型示例
var highScore:Int = 50
print(highScore)
highScore = 40
print(highScore)
輸出:
50
40
說明: 在上面的程序中,我們聲明了一個Int類型的變量highScore,然后將其賦值為50,所以輸出為50。愛掏網 - it200.com
后來,我們使用賦值操作符將值更改為40,所以輸出為40。愛掏網 - it200.com
Swift中還有一些Int數據類型的變種。愛掏網 - it200.com
Int8數據類型
Int8數據類型可以存儲正負的小數字。愛掏網 - it200.com它的默認值是0,大小為8位,范圍從-128到127。愛掏網 - it200.com
它可以存儲28個值,即從-128到127,包括0。愛掏網 - it200.com
var highScore:Int8 = -128//ok
highScore = 127 //ok
highScore = 128 // error occurred
highScore = -129 //error occurred
您可以使用 .min和.max 來查看Int8數據類型可以存儲的最高值和最低值。愛掏網 - it200.com
.min和 .max Int8數據類型的示例
print(Int8.min)
print(Int8.max)
輸出:
-128
127
UInt 數據類型
UInt (無符號整數) 只能存儲無符號的數字(正數和零)。愛掏網 - it200.com其余屬性與整數數據類型相同,即:
- 默認值: 0
- 大?。?/strong> 32/64 位,取決于平臺類型
- 范圍: 0 到 4294967295(32 位平臺);0 到 18446744073709551615(64 位平臺)
Float 數據類型
float 數據類型可以存儲小數和分數。愛掏網 - it200.com其默認值為 0.0,大小為 32 位,范圍從 1.2*10-38 到 3.4 * 1038(約 6 位數字)
Float 數據類型示例
let highScore:Float = 3.1416
print(highScore)
輸出:
3.1416
雙精度數據類型
雙精度數據類型可以存儲十進制或分數,其支持的小數點比浮點數類型更大。愛掏網 - it200.com
其默認值為0.0,大?。?4位,范圍從2.310-308到1.710308(約15位數字)。愛掏網 - it200.com
雙精度數據類型示例
let highScore:Double = 3.1416
print(highScore)
輸出:
3.1416
字符數據類型
字符數據類型可以存儲單個字符的字符串字面量。愛掏網 - it200.com它用于添加表情符號或除英語之外的其他語言。愛掏網 - it200.com
字符數據類型示例
let playerName:Character = "J"
let playerNameWithUnicode:Character = "\u{134}"
print(playerName)
print(playerNameWithUnicode)
輸出:
J
?
字符串數據類型
字符串數據類型可以存儲一系列字符。愛掏網 - it200.com它是值類型,其默認值為空字符串””。愛掏網 - it200.com
Swift允許您使用一些特殊的轉義序列來在字符串中使用它們。愛掏網 - it200.com
示例 ,
0 (null character),
\\ (a plain backslash \),
\t (a tab character),
\v (a vertical tab),
\r (carriage return),
\" (double quote),
\' (single quote), and
\u{n} (unicode code point, n is in hexadecimal).
字符串數據類型示例
let playerName = "Jack"
let playerNameWithQuotes = "\"Jack\""
let playerNameWithUnicode = "\u{134}ack"
print(playerName)
print(playerNameWithQuotes)
print(playerNameWithUnicode)
輸出:
Jack
"Jack"
?ack
數據類型變量的范圍(表格形式)
Type | Typical Bit Width | Typical Range |
---|---|---|
Int8 | 1字節 | -127 到 127 |
UInt8 | 1字節 | 0 到 255 |
Int32 | 4字節 | -2147483648 到 2147483647 |
UInt32 | 4字節 | 0 到 4294967295 |
Int64 | 8字節 | -9223372036854775808 到 9223372036854775807 |
UInt64 | 8字節 | 0 到 18446744073709551615 |
Float | 4字節 | 1.2E-38 到 3.4E+38(約6位有效數字) |
Double | 8字節 | 2.3E-308 到 1.7E+308(約15位有效數字) |