3、Swift中struct和class的主要区别

2025-05-12  本文已影响0人  龙之天下

解释Swift中struct和class的主要区别:

1、存储方式和内存管理:

2、继承特性:

3、初始化方式:

4、可变性:

5、性能特点:

6、使用建议:

7、案例

 // Struct示例
struct Point {
    var x: Int
    var y: Int

    mutating func moveBy(x: Int, y: Int) {
        self.x += x
        self.y += y
    }
}

// Class示例
class Person {
    var name: String
    var age: Int

    init(name: String, age: Int) {
      self.name = name
      self.age = age
    }

    func birthday() {
        age += 1
    }
}

8、使用场景对比

// Struct的值类型特性
var point1 = Point(x: 1, y: 1)
var point2 = point1
point2.moveBy(x: 1, y: 1)
print(point1.x) // 输出1,point1不受影响

// Class的引用类型特性
let person1 = Person(name: "张三", age: 20)
let person2 = person1
person2.age = 21
print(person1.age) // 输出21,person1也被修改
上一篇 下一篇

猜你喜欢

热点阅读