随笔 - 68,  文章 - 0,  评论 - 0,  阅读 - 40111

Swift 语言中结构体和枚举是值类型。一般情况下,值类型的属性不能在它的实例方法中被修改。

但是,如果你确实需要在某个具体的方法中修改结构体或者枚举的属性,你可以选择变异(mutating)这个方法,然后方法就可以从方法内部改变它的属性;并且它做的任何改变在方法结束时还会保留在原始结构中。

方法还可以给它隐含的self属性赋值一个全新的实例,这个新实例在方法结束后将替换原来的实例。



复制代码
 1 import UIKit
 2 
 3 struct size {
 4     var width = 0
 5     var height = 0
 6     
 7     func size() -> Int {
 8         return width * height
 9     }
10     
11     mutating func changeSize(count: Int) {
12         width *= count
13         height *= count
14     }
15 }
复制代码

 

假如我们去掉mutating,将会报错

 

 

posted on   代码少年_夕阳  阅读(234)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示