//***********swift学习之18--结构体--***************************
// Swift 结构体是构建代码所用的一种通用且灵活的构造体。
// 我们可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。
// 我把它比喻成:数据模型的实例化对象。
// 例如:
struct StudentMarks {
var mark1 = 100
var mark2 = 200
var mark3 = 300
}
// 结构体实例化使用 let 关键字:
let studentMark = StudentMarks()
print("mark1:\(studentMark.mark1)")
print("mark2:\(studentMark.mark2)")
print("mark3:\(studentMark.mark3)")
// 通过结构体实例化时传值并克隆一个结构体:
struct MarkStruct {
var mark:Int
init(mark:Int) {
self.mark = mark
}
}
var testMark1 = MarkStruct(mark:97)
var testMark2 = testMark1 // aStruct 和 bStruct 是使用相同值的结构体!
testMark2.mark = 98
print("testMark1 的mark:\(testMark1.mark)")
print("testMark2 的mark:\(testMark2.mark)")
/* 结构体应用
结构体实例总是通过值传递来定义你的自定义数据类型。
按照通用的准则,当符合一条或多条以下条件时,请考虑构建结构体:
a.结构体的主要目的:是用来封装少量相关简单数据值。
b.有理由预计一个结构体实例在赋值或传递时,封装的数据将会被拷贝而不是被引用。
c.任何在结构体中储存的值类型属性,也将会被拷贝,而不是被引用。
d.结构体不需要去继承另一个已存在类型的属性或者行为。
结构体实例是通过值传递而不是通过引用传递。
*/