Swift结构体的定义和使用
1. 结构体的定义
在Swift中,结构体使用`struct`关键字定义,包含属性和方法:
swift
// 定义结构体
struct Person {
// 存储属性
var name: String
let age: Int
// 计算属性
var description: String {
return
ame), (age)岁n }
// 方法
func greet() {
print(,我是(name)!n
// 修改属性的方法需加mutating
mutating func updateName(newName: String) {
name = newName
}
}
2. 结构体的特性
- 值类型:赋值或传递时复制整个实例
- 自动初始化:自动生成成员初始化器
- 不支持继承:与类不同,不能继承其他类型
3. 结构体的使用
swift
// 使用成员初始化器创建实例
var person1 = Person(name: 张三: 30)
// 访问属性
print(person1.description) // 输出: 张三, 30岁
// 调用方法
person1.greet() // 输出: 你好,我是张三!
// 修改值类型副本
var person2 = person1
person2.updateName(newName: 李四nprint(person1.name) // 输出: 张三 (原实例未改变)
print(person2.name) // 输出: 李四
4. 典型应用场景
swift
// 几何图形示例
struct Rectangle {
var width: Double
var height: Double
var area: Double {
return width * height
}
}
let rect = Rectangle(width: 5.0, height: 3.0)
print(: (rect.area) 输出: 面积: 15.0
// 坐标点示例
struct Point {
var x: Double
var y: Double
}
var origin = Point(x: 0, y: 0)
origin.x = 2.5 // 修改属性
5. 使用建议
1. 优先选择结构体而非类,除非需要引用类型特性
2. 适合封装简单数据模型(如坐标、尺寸、颜色等)
3. 当满足以下条件时使用结构体:
数据较简单
不需要继承
需要值语义(复制而非引用)
Swift标准库中的基础类型(如`Int`、`String`、`Array`)都是通过结构体实现的,体现了Swift对值类型的重视。
828

被折叠的 条评论
为什么被折叠?



