swift上struct和class的区别

swift上struct和class的区别

image.png

  • 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的访速度会更快

    文章均来自互联网如有不妥请联系作者删除QQ:314111741 地址:http://www.mqs.net/post/13844.html

    相关阅读

    添加新评论