Swift语言中的枚举和结构体


枚举enum和结构体与C中的类似,主要用于别名定义一些有限的类型和一些复杂的数据结构。但是在swift中的枚举呢除了具有基本的类型限制和别名使用外还可以进行继承,遵守协议。

结构体struct和后续的类相似,但是结构体是一个值拷贝的数据类型。


一:枚举

1:枚举的声明

声明一个枚举需要使用关键字enum;

enum Toward{

    case Forward

    case Back

    case Left

    case Right

}

case  关键字表示增加一个枚举定义值,当然,还可以把所有的枚举值写在一行当中。

enum Toward{

    case Forward ,  Back ,  Left   ,  Right

}


2:枚举值

枚举元素只有在指定了类型之后才可能有原始值,可以用  toRaw()  的方法获取枚举的原始值。

例如:

let  goTo = Toward.Left       //获取枚举中的某个定义的值

print(goTo.toRaw())  //错误的。因为枚举中并没有对每个元素赋相应的值。


在以上的定义中,四个枚举值并没有被赋具体的值(这与C语言中不同的地方)

如果要给枚举中定义的所有的枚举值赋值,需要指定枚举的类型。

enum  Toward:Int {

  case Forward ,  Back ,  Left   ,  Right

}

这时,枚举中的四个元素就被默认赋值从0 开始的整数。

let  goTo = Toward.Left      

print(goTo.toRaw())  

//输出为2



也可以手动给每个枚举元素赋值

enum  Toward:Int {

  case Forward  = 2,  Back ,  Left  = 20  ,  Right

}

当给某一个元素赋值后,后面的元素会根据该元素的值依次赋值。

let  goTo = Toward.Back     

print(goTo.toRaw())  

//输出为3

print (Toward.Right.toR

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值