📅  最后修改于: 2020-12-25 04:32:55             🧑  作者: Mango
Swift 4提供了一个灵活的构建基块,可以将结构用作结构。通过使用这些结构,可以一次定义构造方法和属性。
结构不需要实施文件和接口。
结构允许我们创建一个文件,并将其接口自动扩展到其他块。
在“结构”中,通过返回旧值的副本来复制并在后续代码中传递变量值,以使这些值无法更改。
Structures are defined with a 'Struct' Keyword.
struct nameStruct {
Definition 1
Definition 2
---
Definition N
}
例如,假设我们必须访问包含三个科目的成绩的学生记录,并找出三个科目的总数。在这里,markStruct用于初始化带有三个标记的结构,数据类型为’Int’。
struct MarkStruct {
var mark1: Int
var mark2: Int
var mark3: Int
}
通过结构名称访问结构的成员。该结构的实例由’let’关键字初始化。
struct studentMarks {
var mark1 = 100
var mark2 = 200
var mark3 = 300
}
let marks = studentMarks()
print("Mark1 is \(marks.mark1)")
print("Mark2 is \(marks.mark2)")
print("Mark3 is \(marks.mark3)")
当我们使用游乐场运行上述程序时,我们得到以下结果-
Mark1 is 100
Mark2 is 200
Mark3 is 300
通过结构名称“ studentMarks”访问学生分数。使用整数类型值将结构成员初始化为mark1,mark2,mark3。然后将结构studentMarks()传递给带有’let’关键字的’marks’。此后,“标记”将包含结构成员值。现在,通过使用“。”访问结构成员值来打印值。及其初始名称。
struct MarksStruct {
var mark: Int
init(mark: Int) {
self.mark = mark
}
}
var aStruct = MarksStruct(mark: 98)
var bStruct = aStruct // aStruct and bStruct are two structs with the same value!
bStruct.mark = 97
print(aStruct.mark) // 98
print(bStruct.mark) // 97
当我们使用游乐场运行上述程序时,我们得到以下结果-
98
97
Swift 4语言提供了将结构定义为用于构建功能块的自定义数据类型的函数。结构实例通过其值传递到已定义的块,以进行进一步操作。
封装简单数据值。
通过“值”而不是“引用”复制封装的数据及其关联的属性。
“复制”和“参考”的结构。
Swift 4中的结构通过其值而不是其引用传递其成员。
struct markStruct {
var mark1: Int
var mark2: Int
var mark3: Int
init(mark1: Int, mark2: Int, mark3: Int) {
self.mark1 = mark1
self.mark2 = mark2
self.mark3 = mark3
}
}
var marks = markStruct(mark1: 98, mark2: 96, mark3:100)
print(marks.mark1)
print(marks.mark2)
print(marks.mark3)
当我们使用游乐场运行上述程序时,我们得到以下结果-
98
96
100
struct markStruct {
var mark1: Int
var mark2: Int
var mark3: Int
init(mark1: Int, mark2: Int, mark3: Int) {
self.mark1 = mark1
self.mark2 = mark2
self.mark3 = mark3
}
}
var fail = markStruct(mark1: 34, mark2: 42, mark3: 13)
print(fail.mark1)
print(fail.mark2)
print(fail.mark3)
当我们使用游乐场运行上述程序时,我们得到以下结果-
34
42
13
首先使用其成员mark1,mark2和mark3定义结构’markStruct’。现在,成员类的变量被初始化为保存整数值。然后,使用“自我”关键字创建结构成员的副本。创建结构成员的副本后,带有参数标记的结构块将传递到“标记”变量,该变量现在将保留学生标记。然后将标记打印为98、96、100。对于相同结构成员的下一步,使用另一个名为“ fail”的实例来指向具有不同标记的相同结构成员。然后将结果打印为34、42、13。这清楚地说明了结构将具有成员变量的副本,然后将成员传递给即将到来的函数块。