Swift 中的 'Switch' 语句也遵循了多路选择。 只有一个变量被以基于指定的条件的特定时间访问。默认情况下,在switch语句用于捕获不确定的情况(case)。 复制代码
enum Climate{
case India
case America
case Africa
case Australia
}
var season = Climate.America
season = .America
switch season
{
case .India:
println("Climate is Hot")
case .America:
println("Climate is Cold")
case .Africa:
println("Climate is Moderate")
case .Australia:
println("Climate is Rainy")
default:
println("Climate is not predictable")
}
当我们上面的程序使用 playground 运行,我们得到以下结果
Climte is Cold
该程序首先定义了Climate 作为枚举名称。那么它的成员如, 'China', 'America', 'Africa' 和 'Australia' 声明属于类 'Climate'. 现在成员 America 被分配到一个 Season 变量。此外,Switch case可以找到对应 .America 的值,并跳转到该特定语句。 输出将显示为 “Climate is Cold”。同样,所有成员可以通过 switch 语句访问。 当条件不满足它打印默认内容 'Climate is not predictable'
枚举可进一步划分到相关的值和原始值。
关联值和原始值之间的差异
枚举与关联值
复制代码enum Student{
case Name(String)
case Mark(Int,Int,Int)
}
var studDetails = Student.Name("Swift")
var studMarks = Student.Mark(98,97,95)
switch studMarks {
case .Name(let studName):
println("Student name is: (studName).")
case .Mark(let Mark1, let Mark2, let Mark3):









