语法格式:
enum 枚举名{
枚举的定义
}
枚举名的命名规则和类名命名规则类似, 首字母大写。
举例:
enum Weekdays{
<span style="white-space:pre"> </span>case Monday
case Tuesday
case Wednesday
case Thursday
case Friday
}
也可以写在一行中
enum Weekdays{
case Monday, Tuesday, Wednesday, Thursday, Friday
}
Switch语句
枚举类型经常和switch语句一起使用,示例如下:
switch day {
case .Monday://等同于Weekdays.Monday
println("星期一")
case .Tuesday:
println("星期二")
case .Wednesday:
println("星期三")
case .Thursday:
println("星期四")
case .Friday:
println("星期五")
}
实际使用中,可以省略掉枚举名,直接点枚举成员
注意两点:1. 在swift中使用枚举类型可以省略default分支; 2.switch中的分支数必须等于枚举数,包含default分支
赋值
枚举类型的原始值可以包含:字符、字符串、整数和浮点数
enum Weekdays : Int {
case Monday = 0
case Tuesday = 1
case Wednesday = 2
case Thursday = 3
case Friday = 4
}
需要注意的是:每个枚举值都不能重复
也可以只给第一个值赋值,后面的值会依次累加
enum Weekdays : Int {
case Monday = 0, Tuesday, Wednesday, Thursday, Friday
}
// Playground - noun: a place where people can play
import UIKit
enum Weekdays : Int {
case Monday = 0, Tuesday, Wednesday, Thursday, Friday
}
var day = Weekdays.Monday
func chooseWeek(day:Weekdays){
switch day {
case .Monday:
println("I'm Monday.")
case .Tuesday:
println("I'm Tuesday.")
case .Wednesday:
println("I'm Wednesday.")
case .Thursday:
println("I'm Thursday.")
case .Friday:
println("I'm Friday.")
}
}
let friday = Weekdays.Friday.rawValue
if (friday == 4){
println("今天是星期五")
}
chooseWeek(Weekdays.Tuesday)