深入解析Swift编程中枚举类型的相关使用

2020-01-08 22:31:22王冬梅

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'

枚举可进一步划分到相关的值和原始值。

关联值和原始值之间的差异

深入解析Swift编程中枚举类型的相关使用

枚举与关联值

复制代码
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):