Swift - Enum(枚举)

Swift - Enum(枚举) 首页 / Swift入门教程 / Swift - Enum(枚举)

枚举是用户定义的数据类型,由一组相关值组成。关键字 enum 用于定义枚举数据类型。

枚举语法

枚举是通过enum关键字引入的,并将它们的整个定义放在一对大括号中-

enum enumname {
   //枚举值写在这
}

如,您可以为一周中的几天定义一个枚举,如下所示:

enum DaysofaWeek {
   case Sunday
   case Monday
   ---
   case Saturday
}

Enum - 示例

enum names {
   case Swift
   case Closures
}

var lang=names.Closures
lang=.Closures

switch lang {
   case .Swift:
      print("Welcome to Swift")
   case .Closures:
      print("Welcome to Closures")
   default:
      print("Introduction")
}

运行上述程序时,我们得到以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-enumerations.html

来源:LearnFk无涯教程网

Welcome to Closures

Swift 4枚举不会为其成员分配默认值,如C和ObjectiveC,而是通过其枚举名称显式定义成员,枚举名称应以大写字母开头(如:枚举DaysofaWeek)。

var weekDay=DaysofaWeek.Sunday 

定义枚举成员数据类型后,可以通过传递值和进一步的计算来访问成员。

switch枚举

Swift 4'Switch'语句根据指定的条件,在特定时间只能访问一个变量。 switch语句中的默认大小写用于捕获未指定的大小写。

enum Climate {
   case India
   case America
   case Africa
   case Australia
}

var season=Climate.America
season=.America
switch season {
   case .India:
      print("Climate is Hot")
   case .America:
      print("Climate is Cold")
   case .Africa:
      print("Climate is Moderate")
   case .Australia:
      print("Climate is Rainy")
   
}

运行上述程序时,我们得到以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-enumerations.html

来源:LearnFk无涯教程网

Climate is Cold

枚举关联值

enum Student {
   case Name(String)
   case Mark(Int,Int,Int)
}

var studDetails=Student.Name("Swift 4")
var studMarks=Student.Mark(98,97,95)

switch studMarks {
   case .Name(let studName):
      print("Student name is:\(studName).")
   case .Mark(let Mark1, let Mark2, let Mark3):
      print("Student Marks are:\(Mark1),\(Mark2),\(Mark3).")
}

运行上述程序时,我们得到以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-enumerations.html

来源:LearnFk无涯教程网

Student Marks are: 98,97,95.

枚举原始值

Raw可以是字符串,字符或任何整数或浮点数类型,每个Raw值在其枚举声明中必须唯一,将整数用于Raw值时,如果未为某些枚举成员指定任何值,则它们会自动递增。

enum Month: Int {
   case January=1, February, March, April, May, June, July, August,
      September, October, November, December
}

let yearMonth=Month.May.rawValue
print("Value of the Month is:\(yearMonth).")

当我们使用游乐场运行上述程序时,我们得到以下输出-

Value of the Month is: 5.

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Go语言核心36讲 -〔郝林〕

Kafka核心技术与实战 -〔胡夕〕

容量保障核心技术与实战 -〔吴骏龙〕

手把手带你搭建秒杀系统 -〔佘志东〕

玩转Vue 3全家桶 -〔大圣〕

编程高手必学的内存知识 -〔海纳〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

Vue 3 企业级项目实战课 -〔杨文坚〕

结构思考力 · 透过结构看问题解决 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)