c++中枚举是为一组整数值分配一个关联的名称,我们对这一组名称进行调用,以区分一组有意义名称的不同元素,其实他们是一组整数。
swift中枚举向类靠近了,与c++的枚举意义有很大不同。
enum CompassPoint {
case north
case south
case east
case west
}
不会隐式赋值为0,1,2,3,与c++不同。但可以提供原始值
enum ASCIIControlCharacter: Character {
case tab = "\t"
case lineFeed = "\n"
case carriageReturn = "\r"
}
enum Planet: Int {
case mercury = 1, venus, earth, mars, jupiter, saturn, uranus, neptune
}
venus、earch、mars。。。会被隐式赋值为2、3、4.
关联值
形如:
enum Barcode {
case upc(Int, Int, Int, Int)
case qrCode(String)
}
upc、qrCode就是关联值,类型分别为(Int, Int, Int, Int)和(String)。
网友评论