Swift 具有多种基本数据类型(基本资料类型),用于存储不同类型的值。以下是 Swift 的主要基本数据类型:
📌 1. 整数类型(Integer)
用于存储整数值,包括有符号(Int)和无符号(UInt)类型。
类型
描述
取值范围(64 位系统)
Int
默认整数类型(根据平台选择 Int64 或 Int32)
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
Int8
8 位整数
-128 ~ 127
Int16
16 位整数
-32,768 ~ 32,767
Int32
32 位整数
-2,147,483,648 ~ 2,147,483,647
Int64
64 位整数
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
UInt
默认无符号整数(UInt64 或 UInt32)
0 ~ 18,446,744,073,709,551,615
UInt8
8 位无符号整数
0 ~ 255
UInt16
16 位无符号整数
0 ~ 65,535
UInt32
32 位无符号整数
0 ~ 4,294,967,295
UInt64
64 位无符号整数
0 ~ 18,446,744,073,709,551,615
示例:
let a: Int = 100
let b: UInt = 200
let c: Int8 = 127
📌 2. 浮点数类型(Floating-Point)
用于存储小数值,Swift 提供两种浮点类型:
类型
描述
精度
Float
32 位浮点数
67 位小数精度
Double
64 位浮点数(默认)
1516 位小数精度
示例:
let pi: Float = 3.14159
let e: Double = 2.718281828459
📌 3. 布尔类型(Boolean)
用于表示 true(真) 或 false(假),类型为 Bool。
示例:
let isSwiftFun: Bool = true
let isSkyBlue = false
📌 4. 字符和字符串(Character & String)
• Character:表示单个字符。
• String:表示一系列字符的文本(字符串)。
示例:
let letter: Character = "A"
let name: String = "Swift"
可以使用字符串拼接:
let fullName = "Hello, " + name
print(fullName) // 输出 "Hello, Swift"
📌 5. 可选类型(Optional)
Swift 具有安全的可选类型(Optional),表示变量可以有值(Some)或没有值(nil)。
示例:
var age: Int? = nil // 变量可以为空
age = 25 // 赋值
访问可选值时需要解包:
if let unwrappedAge = age {
print("年龄是 \(unwrappedAge)")
} else {
print("没有提供年龄")
}
📌 6. 元组(Tuple)
元组(Tuple)可以存储多个不同类型的值。
示例:
let person: (String, Int, Bool) = ("张三", 25, true)
print(person.0) // 输出 "张三"
print(person.1) // 输出 25
使用命名元组:
let personInfo = (name: "张三", age: 25, isStudent: true)
print(personInfo.name) // 输出 "张三"
📌 7. 数组(Array)
数组用于存储相同类型的多个值。
示例:
let numbers: [Int] = [1, 2, 3, 4, 5]
var fruits = ["🍎", "🍌", "🍊"]
fruits.append("🍉") // 添加元素
print(fruits)
📌 8. 字典(Dictionary)
字典用于存储键值对(key: value)。
示例:
let phoneBook: [String: String] = ["张三": "123456789", "李四": "987654321"]
print(phoneBook["张三"] ?? "找不到号码")
📌 9. 集合(Set)
Set 存储唯一值,且元素无序。
示例:
var uniqueNumbers: Set<Int> = [1, 2, 3, 3, 2]
print(uniqueNumbers) // 输出 {1, 2, 3}
📌 10. Any & AnyObject
• Any 可以存储任何类型的数据。
• AnyObject 只用于类(Class)类型。
示例:
var anything: Any = 42
anything = "Swift" // 允许存储不同类型
📌 11. Void(空类型)
• Void 代表“无返回值”类型,通常用于函数返回 nil 或者不返回任何内容。
示例:
func sayHello() -> Void {
print("Hello, Swift!")
}
简写方式(Void 可以省略):
func sayHello() {
print("Hello, Swift!")
}
📌 总结
类型
描述
示例
Int / UInt
整数类型
let age: Int = 25
Float / Double
浮点数
let pi: Double = 3.14
Bool
布尔值
let isSwiftFun = true
Character
单个字符
let letter: Character = "A"
String
字符串
let name: String = "Swift"
Optional
可选类型
var age: Int? = nil
Tuple
元组
let person = ("张三", 25, true)
Array
数组
let numbers = [1, 2, 3]
Dictionary
字典
let phoneBook = ["张三": "123456"]
Set
集合
let uniqueNumbers: Set = [1, 2, 3]
Any
任何类型
var anything: Any = 42
Void
空类型
func sayHello() -> Void {}
Swift 的类型系统非常丰富,同时支持静态类型检查,确保代码安全性。你可以根据需求选择适合的类型!🚀