结构体的使用场景
1.用于封装少量相关简单数据值;
2.一个结构体的实例在赋值或传递时,封装的数据将会被拷贝而不是被引用;
3.任何在结构体中储存的值类型属性,也将会被拷贝,而不是被引用;
4.结构体不需要去继承另一个已存在类型的属性或者行为。
结构体特点
结构体实例是通过值传递而不是通过引用传递,它的值是不可修改的
语法
通过关键字 struct
来定义结构体:
//结构体
struct student{
var score1:Double
var score2:Double
var score3:Double
var score4:Double
init(score1:Double,score2:Double,score3:Double,score4:Double) {
self.score1 = score1
self.score2 = score2
self.score3 = score3
self.score4 = score4
}
}
以上实例中定义了结构体 student,四个成员属性:score1, score2, score3 和 score4。结构体内使用成员属性是使用 self 关键字
结构体实例是通过值传递的
//结构体实例是通过值传递的
//通过结构体实例化时传值并克隆一个结构体student1
var student1 = student(score1: 11.5, score2: 12.6,score3: 59, score4: 46.8)
student1.score4 = 100
print("学生成绩:\(student1)")
//通过 . 号来访问结构体成员的值
print("学生第一科成绩score1:\(student1.score1)")
print("学生第二科成绩score2:\(student1.score2)")
执行输出结果:
学生成绩:student(score1: 11.5, score2: 12.6, score3: 59.0, score4: 100.0)
学生第一科成绩score1:11.5
学生第二科成绩score2:12.6
网友评论