百科狗-知识改变命运!
--

Swift中结构体和类的区别

是丫丫呀1年前 (2023-12-05)阅读数 7#综合百科
文章标签结构区别

两者之间的关系

定义:结构体有0个或多个相同或者不同的数据组合而成的数据集合,其中那些数据或者方法被称为结构体的成员或者是成员方法。

格式:

struct name:

{

var 成员1:数据类型

var 成员2:数据类型

….

}

要注意的地方:

结构体是值类型,其 实例将会被赋予变量或者常量和被函数调用时被复制

结构体中的成员可以包括属性、类型别名、数组、其他结构体和枚举声明

结构体声明不能包含析构器或者协议声明,但是可以包括任意协议的实现,不能继承类、枚举、其他结构体

两者间的区别

在我们实际的开发中,可能会纠结于应该是使用类还是结构体,在这里我也总结了一下类与结构体间的一些区别。

结构体:

///MARK: - 结构体

struct Car

{

var name: String!

init(name: String){

self.name = name

}

}

var p1 = Car(name: "bench")

var p2 = p1

p2.name = "BMW"

print(p2.name,p1.name)

/// 打印结果为BMW,bench

类:

///MARK: - 类

class Car

{

var name: String!

init(name: String){

self.name = name

}

}

var p1 = Car(name: "bench")

var p2 = p1

p2.name = "BMW"

print(p1.name,p2.name,p1.name)

/// 打印结果为BMW,BMW,BMW

从上面的结果可以看出来,再次给对象赋值,结构体不会改变,而类则会改变原来的值,所以说明类的对象是引用类型,而结构体是值类型。

还有的区别就是类是属于面向对象编程,结构体属于面向协议的编程,所谓面向协议编程其实就是面向对象的升级。在swift中推荐使用的是使用结构体,类在swift中不处于主流的地位,还有就是结构体也能够实现类的全部功能,结构体更模块化,默认实现初始化方法并且不用考虑ARC。

Swift中结构体和类的区别

结构体只需要给出变量的类型,不用给出初始值

struct car {

var name: String

}

类则需要给出初始值

class car {

var name: String

init(name:String) {

self.name = name

}

}

上面两种的效果一样。

iban和swift的区别:IBANs是国际银行账号主要在欧洲使用,并识别跨国界的特定账户。SWIFT是全球银行间金融电信协会代码识别机构。IBAN和SWIFT是在金融机构之间传递交易的两种标准化格式。IBAN和SWIFT之间的另一个主要区别是前者便于支付,但后者不方便。SWIFT只提交支付订单,为了方便,金融机构必须相互建立关系,以交换银行交易。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)