Swift 数据类型

Swift 数据类型

Swift 4编程语言中,创建变量或常量时使用数据类型。在每种编程语言中,我们都必须使用不同类型的变量来存储数据。变量是保留用于存储值的内存位置。这意味着当你使用一个变量时,你在内存中储存了一些空间。

数据类型是变量可以存储的数据(值)的类型。这些数据可以是文本/字符串(”JavaTpoint”)或数字(12.34)或只是位(0和1)。我们必须定义数据类型以确保只存储定义的类型的数据。

示例

假设您需要存储学生的数据,其中需要存储他的姓名和成绩。成绩是一个 数字(即70) ,姓名是一个 字符串(即Alex) ,所以您需要创建两个变量或常量来存储这些数据。

Swift 4中,您可以通过声明变量和数据类型来做到这一点:

var Marks:Int = 70
var Name:String = "Alex"

在这里,我们声明了一个类型为 Int 的 Marks 变量,它存储值 70,以及一个类型为 String 的 Name 变量,它存储值 Alex。

如果您使用以下语法,将会出现编译时错误:

var Score:Int = "Alex"

它将显示一个消息,表明无法将类型为 ‘String’ 的值转换为指定类型 ‘Int’。

这表明一个数字只能存储在 Int 数据类型中,而不能存储在 String 数据类型中。

数据类型的大小

数据类型的大小指定了可以存储在给定变量或常量中的数据的大小。数据类型的大小以位为单位来衡量,并且可以存储的值最多为2的次方个比特。

因此,一个 数据类型大小为1位 可以存储2的1次方=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 数据类型

最常见的Swift 4数据类型有:

布尔型数据类型

  • 布尔型数据类型只能存储两个值,即true或false。
  • 默认值为False。
  • 通常用于if-else语句中。

布尔型数据类型示例

let result:Bool = true
print(result)

输出:

true

整数数据类型

  • 整数数据类型可以存储包括零在内的正数、负数,但没有小数。
  • 默认值为0。
  • 大小取决于平台类型,可能是32位或64位。
  • 范围: -2,147,483,648到2,147,483,647(32位平台) -9223372036854775808到9223372036854775807(64位平台)
  • 整数数据类型有许多其他变体,比如UInt、Int8、Int16等,如果您想特定指定存储类型,可以使用它们。

整数数据类型示例

var highScore:Int = 50
print(highScore)
highScore = 40
print(highScore)

输出:

50
40

说明: 在上面的程序中,我们声明了一个Int类型的变量highScore,然后将其赋值为50,所以输出为50。

后来,我们使用赋值操作符将值更改为40,所以输出为40。

Swift中还有一些Int数据类型的变种。

Int8数据类型

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数据类型可以存储的最高值和最低值。

.min和 .max Int8数据类型的示例

print(Int8.min)
print(Int8.max)

输出:

-128
127

UInt 数据类型

UInt (无符号整数) 只能存储无符号的数字(正数和零)。其余属性与整数数据类型相同,即:

  • 默认值: 0
  • 大小: 32/64 位,取决于平台类型
  • 范围: 0 到 4294967295(32 位平台);0 到 18446744073709551615(64 位平台)

Float 数据类型

float 数据类型可以存储小数和分数。其默认值为 0.0,大小为 32 位,范围从 1.2*10-38 到 3.4 * 1038(约 6 位数字)

Float 数据类型示例

let highScore:Float = 3.1416
print(highScore)

输出:

3.1416

双精度数据类型

双精度数据类型可以存储十进制或分数,其支持的小数点比浮点数类型更大。

其默认值为0.0,大小:64位,范围从2.310-308到1.710308(约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 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位有效数字)

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程