📅  最后修改于: 2021-01-11 07:24:47             🧑  作者: Mango
在Swift 4编程语言中,在创建变量或常量时使用数据类型。在每种编程语言中,我们都必须使用不同类型的变量来存储数据。变量是保留的存储位置,用于存储值。这意味着当您使用变量时,将在内存中保留一些空间。
数据类型是变量可以存储在其中的数据(值)的类型。该数据可以是文本/字符串(“ JavaTpoint”)或数字(12.34),也可以是位(0和1)。我们必须定义数据类型以确保仅存储定义的数据类型。
假设您必须将学生的数据存储在需要存储其姓名和分数的位置。标记是数字(即70) ,名称是字符串(即Alex),因此,您需要创建两个变量或常量来存储数据。
在Swift 4中,您可以通过将变量和数据类型声明为:
var Marks:Int = 70
var Name:String = "Alex"
在这里,我们声明了存储值70的Int类型的Marks变量和存储值Alex的String类型的Name变量。
如果使用以下语法,则会出现编译时错误:
var Score:Int = "Alex"
它将显示一条消息,指出无法将类型'String'的值转换为类型'Int' 。
它显示了一个数字只能以Int数据类型存储,而不能以String数据类型存储。
数据类型的大小指定可以存储在给定变量或常量中的数据的大小。数据类型的大小以位为单位,并且可以存储最多2位的值。
因此,数据类型大小为1位可以存储多达21个= 2值:0或1。
0 -> a or 0
1 -> b or 1
数据类型大小为2位,最多可以存储22 = 4个值。分别是(00,01,10,11)。它可以表示为:
00 -> a or 0
01 -> b or 1
11 -> c or 2
10 -> d or 3
与n位数据类型相同,系统最多可以存储2个n值。
最常见的Swift 4数据类型是:
let result:Bool = true
print(result)
输出:
true
var highScore:Int = 50
print(highScore)
highScore = 40
print(highScore)
输出:
50
40
说明:在上面的程序中,我们声明了一个Int类型的变量highScore,然后将其赋值为50;它提供50的输出。
后来,我们使用赋值运算符highScore = 40将值更改为40,因此它提供了输出40。
Swift中还有更多Int数据类型的变体。
Int8数据类型可以存储正数和负数。其默认值为0,大小为8位,范围从-128到127。
它可以存储28个值,表示-128到127之间的值,包括0。
var highScore:Int8 = -128//ok
highScore = 127 //ok
highScore = 128 // error occurred
highScore = -129 //error occurred
您可以使用.min和.max来检查Int8数据类型可以存储的最高和最低值。
print(Int8.min)
print(Int8.max)
输出:
-128
127
UInt(无符号整数)只能存储无符号数字(正数和零)。其他剩余属性与Integer数据类型的含义相同:
浮点数据类型可以存储小数和小数。其默认值为0.0,大小为32位,范围从1.2 * 10-38到3.4 * 1038(〜6位数字)。
let highScore:Float = 3.1416
print(highScore)
输出:
3.1416
Double数据类型可以将小数或小数存储为Float数据类型,但小数点比Float支持的更大。
其默认值为0.0,大小:64位,范围从2.3 * 10-308到1.7 * 10308(〜15位)
let highScore:Double = 3.1416
print(highScore)
输出:
3.1416
字符数据类型可以存储单个字符串<字符>。它用于添加表情符号或英语以外的语言。
let playerName:Character = "J"
let playerNameWithUnicode:Character = "\u{134}"
print(playerName)
print(playerNameWithUnicode)
输出:
J
Ĵ
字符串数据类型可以存储字符集合。它是值类型,其默认值为“”(空字符串)。
Swift可以帮助您使用一些特殊的转义序列在字符串使用它们。例如,
\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 | 1byte | -127 to 127 |
UInt8 | 1byte | 0 to 255 |
Int32 | 4bytes | -2147483648 to 2147483647 |
UInt32 | 4bytes | 0 to 4294967295 |
Int64 | 8bytes | -9223372036854775808 to 9223372036854775807 |
UInt64 | 8bytes | 0 to 18446744073709551615 |
Float | 4bytes | 1.2E-38 to 3.4E+38 (~6 digits) |
Double | 8bytes | 2.3E-308 to 1.7E+308 (~15 digits) |