博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swift class与struct区别
阅读量:5081 次
发布时间:2019-06-12

本文共 913 字,大约阅读时间需要 3 分钟。

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)                //18let b = Person(age: 20)print(b.age)                //20let c = bc.age += 2print(c.age)                //22print(b.age)                //22let d = bd.age += 2print(d.age)                //24print(c.age)                //24print(b.age)                //24
struct Boy {    var age = 18    init() {            }    init(age: Int) {        self.age = age    }}let e = Boy()print(e.age)                //18let f = Boy(age: 20)print(f.age)                //20var g = fg.age += 2print(f.age)                //20print(g.age)                //22

 

转载于:https://www.cnblogs.com/muzijie/p/6126010.html

你可能感兴趣的文章
U-Boot工作过程
查看>>
js函数基础回顾
查看>>
JAVA_HOME环境变量不起作用
查看>>
转:Android设置全局变量
查看>>
Djiango ajax请求数据/分页器
查看>>
Java并发--并发容器之CopyOnWriteArrayList
查看>>
手机号二要素实名认证
查看>>
图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
查看>>
6.原码, 反码, 补码 详解
查看>>
使用fprof基本步骤
查看>>
三维坐标变换矩阵的推导过程
查看>>
【转】三个重复的ACK意味着发生拥塞?
查看>>
【JZOJ4820】【NOIP2016提高A组模拟10.15】最大化
查看>>
centos添加sudoers
查看>>
小球自由落体动态模拟(Position Based Simulation)
查看>>
小菜学习Winform(四)MDI窗体(附示例)
查看>>
学习windows编程 day4 之 盯裆猫
查看>>
[C# 开发技巧]实现属于自己的截图工具
查看>>
(一) Mysql 简介及安装和配置
查看>>
5th week blog
查看>>