在 Swift 中, 关键字主要用于 结构体 (Struct) 和 枚举 (Enum) 这类值类型 (Value Types)。 简单来说,它的作用是:允许在值类型的方法中修改该实例本身的属性,或者替换该实例本身。 以下是详细的解释: 1. 为什么需要 ? 在 Swift 中,结构体和枚举是值类型。默认情况下,值类型的实例方法是不允许修改其属性的。 即使你的属性定义为 (变量),在实例方法内部,(即实例本身)被隐式地视为一个常量 ()。因此,你无法修改它持有的任何属性。 如果你尝试修改,编译器会报错: > "Cannot assign to property: 'self' is immutable" 2. 如何使用 为了让方法能够修改属性,你需要在 关键字前面加上 。 示例:结构体 (Struct) 错误写法: 正确写法 (使用 mutating): 示例:枚举 (Enum) 枚举也可以包含方法,并且可以使用 来切换自身的状态(即改变 )。 3. 的底层原理 当你把一个方法标记为 时,Swift 在底层做了两件事: 1. 隐式的 变为 参数: 普通方法的 是值传递(常量),而 ...