zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    S2dao 简单Demo(转)
    Iphone SDK textField 打开和关闭键盘
    s2dao 入门知识2
    Eclipse tomcat Web页面调试
    s2dao 入门知识1
    java 面试
    Iphone SDK ActionSheet 在当前窗口弹出时间选择
    杭电2044
    杭电2076
    杭电2077
  • 原文地址:https://www.cnblogs.com/muzijie/p/6126010.html
Copyright © 2011-2022 走看看