在以任何一种编程语言进行编程时,您需要使用不同类型的变量来存储信息,变量是用于存储值的保留内存位置。
Swift 4为程序员提供了丰富的内置以及用户定义的数据类型。声明变量时,以下类型的基本数据类型最常见-
Int或UInt - 用于整数,更具体地说,可以使用Int32,Int64定义32或64位有符号整数,而UInt32或UInt64定义32或64位无符号整数变量。如42和-23。
Float - 用于表示32位浮点数和小数点后的数字。如,3.14159、0.1和-273.158。
Double - 用于表示64位浮点数,当浮点值必须非常大时使用。如,3.14159、0.1和-273.158。
Bool - 这表示布尔值,它是true或false。
String - 这是字符的有序集合。如,"Hello,LearnFK!"
Character - 这是一个单字符字符串文字。如," C"
Optional - 这表示可以保存值或不包含值的变量。
Tuples - 用于将多个值分组为单个"复合值"。
下表显示了变量类型,将值存储在内存中需要多少内存以及此类变量中可以存储的最大值和最小值是多少。
类型 | 典型位宽 | 典型范围 |
---|---|---|
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位数字) |
您可以使用 typealias 为现有类型创建新名称,这是使用typealias定义新类型的简单语法-
typealias newname=type
如,以下行指示编译器 Feet 是 Int 的另一个名称-
typealias Feet=Int
现在,以下声明完全合法,并创建了一个名为distance的整数变量-
链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-data-types.html
来源:LearnFk无涯教程网
typealias Feet=Int var distance: Feet=100 print(distance)
运行上述程序时,得到以下输出。
100
Swift 4是一种类型安全的语言,这意味着如果您的代码中的一部分需要一个String字符串,则不能错误地将其传递给Int整数类型。
由于Swift 4是类型安全的,因此它在编译代码时执行类型检查,并将所有不匹配的类型标签为错误。
var varA=42 varA="This is hello" print(varA)
当我们编译上述程序时,它会产生以下编译时错误。
main.swift:2:8: error: cannot assign value of type 'String' to type 'Int' varA="This is hello"
通过类型推断,编译器只需检查您提供的值,即可在编译代码时自动推断出特定表达式的类型, Swift 4使用类型推导来得出适当的类型,如下所示。
//varA 被推断为 Int 类型 var varA=42 print(varA) //varB 被推断为 Double 类型 var varB=3.14159 print(varB) //varC 也被推断为 Double 类型 var varC=3 + 0.14159 print(varC)
运行上述程序时,我们得到以下输出-
42 3.14159 3.14159
let result:Bool = true print(result)
输出:
true
var highScore:Int = 50 print(highScore) highScore = 40 print(highScore)
输出:
50 40
INT8数据类型可以存储正极和负少数。其默认值为0,大小为8位,范围从-128到127变化。
它可以存储28个值意味着从-128到127的值包括0。
var highScore:Int8 = -128//ok highScore = 127 //ok highScore = 128//发生错误,因为溢出了 highScore = -129 //同上
您可以使用.min和.max检查Int8数据类型可以存储的最高和最低值。
print(Int8.min) print(Int8.max)
输出:
-128 127
浮动数据类型可以存储十进制和分数。其默认值为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
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)