Swift3.0-枚举(enum)和结构体(struct)

Swift3.0-枚举(enum)和结构体(struct)

/*
 * 1、枚举 (enum关键字)
    枚举是一种基本数据类型
 */
print("1、枚举")
enum Toward1:Int {
    case Forward,Back,Left,Right //默认赋值从0开始,且依次+1
}
//rawValue将枚举值转换为原始值
print(Toward1.Left.rawValue)

enum Toward2:Int {
    //如果指定类型为非Int类型,需要给每一个元素指定值,且每个值必须唯一
    case Forward = 3
    case Back
    case Left = 6
    case Right
}
//通过原始值得到枚举中对应元素
print(Toward2(rawValue:7) ?? Int())


/*
 * 2、结构体 (!!!值拷贝类型;struct关键字)
 */
print("\n2、结构体")
struct Teacher{//老师结构体
    var tId = 0
    var tName = ""
}

struct ClassRoom{//班级结构体
    var classId = 0
    var className = ""
    var classCharge = Teacher() //班主任
}

struct Student{//学生结构体
    var classInfo = ClassRoom() //班级
    var stuId = 0
    var stuName = ""
    var stuSex = true
}

var studet = Student()
studet.stuName = "明"
studet.classInfo.className = "终极一班"
studet.classInfo.classCharge.tName = "小月"

print("学生:\(studet.stuName),班级:\(studet.classInfo.className),班主任:\(studet.classInfo.classCharge.tName)")


//值拷贝类型:即两个结构体实例变量之间进行赋值时,是对结构体所有内容的拷贝。也就是说,对其中一个实例的属性进行修改后,不会影响另外一个实例内容
var stu2 = studet
stu2.stuName = "亮"
print(studet.stuName)
print(stu2.stuName)


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值