个性化阅读
专注于IT技术分析

Swift中的数据类型解释和用法详解

本文概述

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

数据类型是变量可以存储在其中的数据(值)的类型。此数据可以是文本/字符串(” srcmini”)或数字(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"

它将显示一条消息, 指出无法将类型”字符串”的值转换为类型” 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位数据类型相同, 系统最多可以存储2n个值。


Swift 4数据类型

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

布尔数据类型

  • Bool数据类型只能存储两个值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的输出。

后来, 我们使用赋值运算符highScore = 40将值更改为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(无符号整数)只能存储无符号数字(正数和零)。其他剩余属性与Integer数据类型的含义相同:

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

浮动数据类型

浮点数据类型可以存储小数和小数。其默认值为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).
(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 典型位宽 典型范围
Int8 1byte -127至127
UInt8 1byte 0至255
Int32 4bytes -2147483648至2147483647
UInt32 4bytes 0至4294967295
Int64 8bytes -9223372036854775808至9223372036854775807
UInt64 8bytes 0至18446744073709551615
Float 4bytes 1.2E-38至3.4E + 38(〜6位数字)
Double 8bytes 2.3E-308至1.7E + 308(〜15位数字)

赞(0) 打赏
未经允许不得转载:srcmini » Swift中的数据类型解释和用法详解
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏