0
点赞
收藏
分享

微信扫一扫

swift上struct和class的区别

攻城狮Chova 2021-09-19 阅读 100
日记本

前言

struct和class是swift的两大数据结构,理解struct和class对我们学习swift的帮值很大

重点

  • struct是一个值类型的数据结构,而class是一个引用类型的数据结构


  • class声明对象时用的是let,但它能够修改class类里面变量的值是因为:let是定义为常量,那么对象对类的引用不可以改变,但还是可以修改类的值的
  • struct声明对象为var类型,因为struct是值类型,那么对象就类似于一个值,当要改变其内部的值时,var是可行的,let则会报错
  • 如果在struct里面添加方法来修改属性的值,那么要在方法的前面加上mutating,class上不用
struct structtest {
    var d = 30
    mutating func a(add:Int) {
        d = d + add
    }
}
  • struct是存放在栈空间上的,而class是存放在堆空间上的,因此使用struct的访问速度会更快
举报

相关推荐

0 条评论