Swift中Struct和Class之间的区别。

3.初始化方法。

不管是Class还是Struct,如果我们希望在创建实体的时候,可以顺便带入初始值,则Struct其中不需自行编写init方法,当我们去做呼叫的时候,即会呼叫来做初始化属性的动作。

而Class则没有这个功能,所以如果我们希望做到带入初始值,我们必须自行撰写一个init的方式,并且在其中将自身的属性分配给带入的初始值。

这个时候你可能会问,那struct里面可不可以用到init()方法?

答案是可以的,个人觉得会在结构里面再写一次init方式的时候,多半都是为了要去定义外部参数名称(外部参数名称)的时候,才会用到。

这边我顺便插播播一个东西

最初来说,您不能在值类型所定义的方法中去修改其本身所带的属性,例如:struct,enum。因此如果要做这样的修改,就必须在func前面加上mutating,这个关键字的意思就是告诉compiler,我允许这个功能去修改本身自带的特性,在功能运行完之后,本身自带的特性也会跟着改变啦!

大概以上几个的差异,如果还是很容易搞混的话,建议大家可以开一个操场,实际的去体会看看其中的相对~~但是总归一个大方向,构造保存较简单的资料,而类别则是用来储存较复杂的资料与操作这些资料!

以上内容跟大家分享,如果有任何疑问欢迎留言!

图片来自google搜索,如果有犯罪疑虑请来信告知,谢谢!