Swift 数据类型
封面图
•
2025-10-14
•
Swift
0
0
0
0
在 Swift 中,数据类型是程序中存储和操作数据的基础。Swift 是一种**强类型语言**(strongly-typed),这意味着每个变量或常量都必须有明确的类型,并且不能随意更改类型。 以下是 Swift 中常见的数据类型分类: --- ## 一、基本数据类型(Primitive Types) ### 1. **整数类型(Integers)** | 类型 | 大小(位) | 范围 | |------|------------|------| | `Int` | 32/64 位(取决于平台) | -2^31 到 2^31-1 或 -2^63 到 2^63-1 | | `Int8` | 8 位 | -128 到 127 | | `Int16` | 16 位 | -32768 到 32767 | | `Int32` | 32 位 | -2147483648 到 2147483647 | | `Int64` | 64 位 | -9223372036854775808 到 9223372036854775807 | | `UInt` | 32/64 位(无符号) | 0 到 2^32-1 或 0 到 2^64-1 | | `UInt8` | 8 位 | 0 到 255 | | `UInt16` | 16 位 | 0 到 65535 | | `UInt32` | 32 位 | 0 到 4294967295 | | `UInt64` | 64 位 | 0 到 18446744073709551615 | > ✅ `Int` 和 `UInt` 是最常用的整数类型,它们会根据平台自动选择 32 位或 64 位。 ```swift let age: Int = 25 let count: UInt = 100 ``` --- ### 2. **浮点数类型(Floating Point Numbers)** | 类型 | 大小(位) | 精度 | |------|------------|------| | `Float` | 32 位 | 单精度 | | `Double` | 64 位 | 双精度 | > ✅ 通常推荐使用 `Double`,因为它的精度更高,适合大多数计算。 ```swift let pi: Double = 3.1415926535 let temperature: Float = 23.5 ``` --- ### 3. **布尔类型(Boolean)** - `Bool`:表示真或假,值为 `true` 或 `false` ```swift let isRaining: Bool = true ``` --- ### 4. **字符类型(Character)** - `Character`:表示一个 Unicode 字符 ```swift let letter: Character = "A" let emoji: Character = "😀" ``` --- ### 5. **字符串类型(String)** - `String`:表示文本内容 ```swift let name: String = "Alice" ``` --- ## 二、复合数据类型(Composite Types) ### 1. **元组(Tuple)** - 用于将多个值组合成一个复合值 ```swift let person = ("Alice", 25) print(person.0) // 输出 "Alice" print(person.1) // 输出 25 // 命名元组 let student = (name: "Bob", age: 20) print(student.name) // 输出 "Bob" ``` --- ### 2. **数组(Array)** - 存储相同类型的元素集合 ```swift let numbers: [Int] = [1, 2, 3] let names: [String] = ["Alice", "Bob"] ``` --- ### 3. **字典(Dictionary)** - 存储键值对(Key-Value Pairs) ```swift let scores: [String: Int] = ["Alice": 90, "Bob": 85] ``` --- ## 三、可选类型(Optional Type) - 表示一个值可能不存在(`nil`) ```swift var name: String? = nil name = "Alice" if let unwrappedName = name { print("Hello, $unwrappedName)") } else { print("Name is missing") } ``` --- ## 四、类型推断(Type Inference) Swift 会自动推断变量或常量的类型,无需显式声明: ```swift let number = 42 // 推断为 Int let text = "Hello" // 推断为 String let value: Double = 3.14 ``` --- ## 五、类型转换(Type Casting) - 将一个类型转换为另一个类型 ```swift let intNumber = 10 let doubleNumber = Double(intNumber) // Int -> Double ``` --- ## 六、自定义类型(User-Defined Types) - **类(Class)** - **结构体(Struct)** - **枚举(Enum)** - **协议(Protocol)** 这些属于 Swift 的**引用类型**和**值类型**,用于构建更复杂的数据结构和行为。 --- 如果你有特定的问题,比如“如何判断类型”、“如何进行类型转换”等,也可以告诉我,我可以进一步讲解!
上一篇:
Swift 基本语法
标题录入,一次不能超过6条
返回顶部
留言
留言
评论