为什么它被称为 Memberwise Initialiser

Why it is called the Memberwise Initialiser

引自 office Swift Document

All structure have an automatically-generated memberwise initializer, which you can use to initialize the member properties of new structure instances ...

问题1:默认初始化器有什么特别之处,为什么不能简称为默认初始化器?为什么要添加 "memberwise"?是不是因为它列出了结构中定义的所有成员属性。并且在创建实例时还必须遵循 Structure 中定义的顺序。

问题2有没有其他特殊的初始化器有自己特殊的名字?如果有,它们长什么样。

[注意第一部分:]与 Vadian 先生进一步讨论

[注意第二部分:]

这似乎主要是基于意见,并不适合 SO,但这是我的 2 美分:

  1. Default听起来很像Designated,这是一个完全正交的概念。

  2. 不是"special",但至少有两种不同的初始化器:designated and convenience

关于问题 1:

Swift有一条不可撤销的法律:

Classes and structures must set all of their stored properties to an appropriate initial value by the time an instance of that class or structure is created. Stored properties cannot be left in an indeterminate state.

我们正在讨论 结构:

创建结构时,您可以使用默认初始化程序(括号对) 如果所有属性都有默认值。

如果您只是声明没有默认值的属性,编译器会创建一个隐式的成员初始化器——您必须使用它–确保以非常方便的方式为每个 属性 分配默认值