Swift中什么时候使用结构体,什么时候使用类

众所周知,Swift中存在类和结构体,二者相似,却又不同;最大的差异,就是结构体是值类型,类是引用类型。
那么,这二者何时使用,该怎么区分呢?

根据我所学习的内容的总结,给出一些建议:
1、我们应该把结构体看做是值,类看做是物体。
  • 值:例如经纬度、坐标、温度等,使用结构体比较合适。对于值类型,当我们定义一个值a = 3的时候,又让b = a,此时我们修改a的值的时候,肯定不希望b跟着一起改变。

  • 物体:人、车、动物等,使用类比较合适。对于引用类型,描述的是一个物品,举个例子,你妈妈眼中的和你同学眼中的以及理发师眼中的,都是同一个,当你的理发师对你的发型进行改变的时候,你妈妈,你同学看到的都是改变后的

2、对于事物需要被继承的,没得商量,肯定得要选择类,但是swift中有面向协议的编程范式,swift中对于一些继承,推荐的还是使用协议来进行。
3、结构体比类更为“轻量级”

结构体的内存空间是开在栈中,而类是开在堆中,从堆中寻找相应的地址,会比较慢。

这只是一些建议,具体项目中的情况千变万化,还是要根据需求来最终确定

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容