您的位置:首页 > 移动开发 > Swift

swift 结构体

2015-11-09 11:39 253 查看
结构体和枚举比较类似可以比较学习:http://blog.csdn.net/lwjok2007/article/details/47975415

结构体是类似于枚举但又和枚举不同的一种自定义类型。简单理解一下可以认为结构体就是一个只有属性没有方法的特殊类。结构体里的属性,是一个对象都得有的。比如我们定义一个学生的结构体,包含学号,姓名,班级。那么一个学生类型的对象就包含了学号,姓名,班级所有的信息。某个变量如果被声明为一个枚举类型后,那么他只能是枚举中的某一个值。

[objc] view
plaincopy

//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;//班主任信息  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: