• swift class与struct区别


    class是通过引用传递,struct是通过值传递。

      把结构体看作是值,把类看作是物体。

        结构体:位置(经纬度)、坐标(二维坐标、三维坐标)、温度等等可以直接用值来表示的数据。

        类:人、车、动物等。

    class可以继承,struct不可以继承。

    struct比class更“轻量级”,struct分配在栈中,class分配在堆中。

    class Person {    
        var age = 18
        init() {
        
        }
        init(age: Int) {
            self.age = age
        }
    }
    
    let a = Person()
    print(a.age)                //18
    
    let b = Person(age: 20)
    print(b.age)                //20
    
    let c = b
    c.age += 2
    print(c.age)                //22
    print(b.age)                //22
    
    let d = b
    d.age += 2
    print(d.age)                //24
    print(c.age)                //24
    print(b.age)                //24 
    struct Boy {
        var age = 18
        init() {
            
        }
        init(age: Int) {
            self.age = age
        }
    }
    
    let e = Boy()
    print(e.age)                //18
    
    let f = Boy(age: 20)
    print(f.age)                //20
    
    var g = f
    g.age += 2
    print(f.age)                //20
    print(g.age)                //22
  • 相关阅读:
    委托的另一种写法
    List集合基于某个字段排序
    js进阶
    DBlink与同义词
    iOS汤姆猫素材
    Objective-C 变量和基本的数据类型
    OC基础语法之方法
    16进制数
    kmp算法原理自我理解
    bfs广度遍历搜索模版
  • 原文地址:https://www.cnblogs.com/muzijie/p/6126010.html
Copyright © 2020-2023  润新知