结构体和枚举比较类似可以比较学习:http://blog.csdn.net/lwjok2007/article/details/47975415
结构体是类似于枚举但又和枚举不同的一种自定义类型。简单理解一下可以认为结构体就是一个只有属性没有方法的特殊类。结构体里的属性,是一个对象都得有的。比如我们定义一个学生的结构体,包含学号,姓名,班级。那么一个学生类型的对象就包含了学号,姓名,班级所有的信息。某个变量如果被声明为一个枚举类型后,那么他只能是枚举中的某一个值。
//1 结构体的声明
//声明结构体一般用关键字struct。我们看例子,声明一个学生结构体
struct Student {
var studentID:Int;//学号
var studentName:String;//姓名
var studentClass:String;//班级
}
//以上声明方式 我们可以看到 直接指定了 每一个属性的数据类型。还有一种方式就是不指定数据类型,而是直接赋值,系统自动根据赋值判断数据类型
struct Student1 {
var studentID=2007001
var studentName=""
var studentClass=""
}
//2 结构体的构造方法
//2.1 空参构造方法
var zhangsan=Student1();
//由于结构体必须有初始值,所以空参构造方法只适用于带默认值的结构体。
//2.2 全参构造方法
var zhangsan1=Student(studentID: 2001, studentName: "张三", studentClass: "三年级")
//3 结构体的取值和赋值
//结构体的取值和赋值很简单,直接使用 . 语法
println(zhangsan1.studentName)
zhangsan1.studentName="李四"
println(zhangsan1.studentName)
// 4 最后我们简单说下 结构体是可以嵌套的。
//比如学生信息里面可能会有班主任的信息,我们可以直接把班主任直接设置成一个结构体,那么学生结构体里面就会有一个结构体
struct Teacher {
var teacherName="王老师"
var teacherSex="女"
}
struct Student2 {
var studentID:Int;//学号
var studentName:String;//姓名
var studentClass:String;//班级
var teacherInfo:Teacher;//班主任信息
}
苹果开发群 :414319235 欢迎加入 欢迎讨论问题