Swift - Struc(结构)

Swift - Struc(结构) 首页 / Swift入门教程 / Swift - Struc(结构)

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)")

运行上述程序时,我们得到以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-structures.html

来源:LearnFk无涯教程网

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

运行上述程序时,我们得到以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-structures.html

来源:LearnFk无涯教程网

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)

运行上述程序时,我们得到以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-structures.html

来源:LearnFk无涯教程网

98
96
100

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

微服务架构核心20讲 -〔杨波〕

深入拆解Java虚拟机 -〔郑雨迪〕

数据分析实战45讲 -〔陈旸〕

全栈工程师修炼指南 -〔熊燚(四火)〕

架构实战案例解析 -〔王庆友〕

Flink核心技术与实战 -〔张利兵〕

小马哥讲Spring AOP编程思想 -〔小马哥〕

手把手带你写一个Web框架 -〔叶剑峰〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

好记忆不如烂笔头。留下您的足迹吧 :)