enum Direction {
case north
case south
case east
case west
}
enum Direction {
case north, south, east, west
}
var dir = Direction.west
dir = Direction.east
dir = .north
print(dir) // north
switch dir {
case .north:
print("north")
case .south:
print("south")
case .east:
print("east")
case .west:
print("west")
}
有时将枚举的成员值跟其他类型的值关联存储在一起, 会非常有用
enum Score {
case points(Int)
case grade(Character)
}
var score = Score.points(96)
score = .grade("A")
switch score {
case let .points(i):
print(i, "points")
case let .grade(i):
print("grade", i)
}
// 打印结果:grade A。
// 注意:其实 i 就是 字符串 "A",'let .grade(i)'相当于拿到枚举中 grade 这个成员值与它关联的值 'A'
enum Date {
case digit(year: Int, month: Int, day: Int)
case string(String)
}
var date