无涯教程-Swift - Struc(结构)

40 阅读2分钟

Swift 4提供了一个灵活的构建块,可以将结构struct用作结构,通过使用这些结构,可以一次定义构造方法和属性。

结构语法

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。此后,"mark"将包含结构成员值,现在,通过使用"."访问结构成员值来打印值及其初始名称。

struct MarksStruct {
   var mark: Int

init(mark: Int) { self.mark=mark } }

var aStruct=MarksStruct(mark: 98) var bStruct=aStruct //aStruct 和 bStruct 是两个具有相同值的结构体! 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

参考链接

www.learnfk.com/swift/swift…