/*
结构体里边可以定义属性(变量,常量)和添加方法,从而扩展结构体的功能
结果体允许我们创建单一的文件,且系统自动化生成面向其他代码的外部接口
结构体总是通过被复制的方式在代码中传递,因此它的值不可改变
struct nameStruct {
Definition 1
Definition 2
……
Definition N
}
*/
struct studentType
{
var type1 = "A等生"
var type2 = "B等生"
var type3 = "C等生"
var type4 = "D等生"
var type5 = "努力生"
}
let type = studentType() //现将结构体转化成类
print("小名是\(studentType().type1)")//当然也可以直接使用
print("小花是\(type.type5)")
//通过结构体实例化 并克隆一个结构体
struct MarksStruct {
var mark : Int //将mark初始化为int类型
init(mark:Int) {
self.mark=mark
}
}
var aStruct = MarksStruct(mark:99)
var bStuct = aStruct //此时aStruct 和bStruct 共用一样结构体
aStruct.mark=66 //a的结构体从新赋值
print(aStruct.mark)
print(bStuct.mark)
/*结果
小名是A等生
小花是努力生
*/
//结构体应用
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
}
}
print("优异成绩:")
var marks = markStruct(mark1: 100, mark2: 100, mark3:100)
print(marks.mark1)
print(marks.mark2)
print(marks.mark3)
print("糟糕成绩:")
var fail = markStruct(mark1: 0, mark2: 2, mark3: 3)
print(fail.mark1)
print(fail.mark2)
print(fail.mark3)
/*
优异成绩:
100
100
100
糟糕成绩:
0
2
3
*/