美文网首页
Swift中mutating关键字

Swift中mutating关键字

作者: 1剑天下 | 来源:发表于2019-08-26 11:01 被阅读0次

结构体枚举或者协议中,使用mutating修饰的方法,可以在该方法内部修改结构体,枚举,或者协议的属性变量。

func sturctExaplem()
    {
        //1. 定义结构体
        struct Location{
            var x :Double
            var y : Double
            var info : String = ""
            //2. 给结构体扩充方法 (普通)
            func text()  {
                
            }
            
            //3. 改变成员变量 ⚠️ 如果在函数里面修改了成员属性必须加上mutating
            mutating func moveH(distance:Double ) {
                
                self.x += distance
            }
}
对值类型进行扩展时,可以使用mutating修饰方法,使得方法内部可以直接修改当前实例的本身
extension Int
{
    //对值类型进行扩展时,可以使用mutating修饰方法,使得方法内部可以直接修改当前实例的本身
    mutating func change(){
        self = self*self
    }
    
}

相关文章

网友评论

      本文标题:Swift中mutating关键字

      本文链接:https://www.haomeiwen.com/subject/evcrectx.html