【Swift学习】Enum、Struct、Class的学习及异同

Swift初学者,刚过完一遍Swift Apprentice,期间配合着《Swift 3.0官方教程中文版》看,对于几个比较重要又较为复杂的知识点,通过查查资料,写写博客的方式系统化知识并加深理解。


enum、struct、class都是Swift提供的“named types”(protocol将单独介绍),它们之间有很多相同之处,又有各自的特性,存在即合理,在正确的时刻选择正确的“named types”算是初学者的必修课了吧,下面将从最基础的语法讲起,同时介绍各自的特性以及异同。




枚举(Enumerations)


定义:枚举为一组相关的值定义了一个共同的类型,使你可以以类型安全的方式来使用这些值



枚举的语法


定义一个枚举类型:
enum CompassPoint {
    case north
    case south
    case east
    case west
}
用enum关键字来表示枚举,大括号中用case关键字来定义新的枚举成员值。


Swift也提供了更简洁的语言,省略多余的case,将多个成员值用逗号隔开,如下:

enum CompassPoint {
    case north, south, east, west
}


实例的创建及使用:

//将枚举中的某个值赋值给变量
var compassPoint = CompassPoint.north

//当系统已经知道变量的枚举类型时,可以省略类型名
compassPoint = .south




原始值(Raw values)


枚举的成员可以被默认值(原始值)预填充,这些原始值的类型必须相同。


定义一个原始值为Int的枚举类型Month。

enum Month: Int {
    case january , february, march, april, may, june, july, august, september, october, november, december
}


当原始值的类型为整数时,系统将隐式地对成员值赋值且值依次递增1,若第一个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值