微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift 结构体


结构体和枚举比较类似可以比较学习: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 欢迎加入 欢迎讨论问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐