swift学习——枚举

swift枚举

1. 枚举基本语法

enum Method {

case Add

case Sub

case Mul

case Div

}

也可以使用一种更简单的写法

enum Method1{

case add, div,mul,sub

}

2. swift匹配枚举值

func chooseMethod(op :Method) ->(Double , Double) ->Double {

switch op {

//.Add其实就是Method.Add

case .Add:

func add (a : Double , b:Double) ->Double{

return a+b

}

return add

case .Sub:

return {(a : Double, b :Double) -> Double in return a-b}

case .Mul :

return {$0 * $1}

//    case  .Div:

//            return {

//                (a :Double ,b :Double)->Double in

//                return a/b

//如果不写全case值,必须要加default,不然报错

default:

return{

$0 + $1

}

}

}

let val  = chooseMethod(op:.Div)(10 ,131)

print(val)

时间: 2024-08-01 22:30:46

swift学习——枚举的相关文章

Swift学习——A Swift Tour 枚举和结构体

Enumerations and Structures Enumerations   枚举的使用 使用 enum 定义一个枚举,枚举里面可以关联方法,比如下文中的描述方法 enum Rank: Int { case Ace = 1 case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten case Jack, Queen, King func simpleDescription() -> String { switch self { ca

Swift学习-枚举(Enumerations)的使用方法

Swift学习-枚举的使用方法 枚举的使用语法: enum someEnumer { // 枚举的成员值 } 以下是方向的一个例子: enum direction { case Up case Down case Left case Right } 以下摘自Swift 中文翻译组 注意: 不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被赋予一个默认的整数值.在上面的CompassPoints例子中,North,South,East和West不是隐式的等于0,1,

Swift学习之位移枚举的按位或运算

在OC里面我们经常遇到一些枚举值可以多选的,需要用或运算来把这些枚举值链接起来,这样的我们称为位移枚举,但是在swift语言里面却不能这么做,下面来讲解一下如何在swift里面使用 OC的位移枚举的区分 //位移枚举typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutores

Swift学习笔记-枚举(Enumerations)

本页内容包含: 枚举语法(Enumeration Syntax) 匹配枚举值与Swith语句(Matching Enumeration Values with a Switch Statement) 相关值(Associated Values) 原始值(Raw Values) 递归枚举(Recursive Enumerations) 枚举定义了一个通用类型的一组相关值,使你可以在你的代码中以一种安全的方式来使用这些值. 如果你熟悉 C 语言,你就会知道,在 C 语言中枚举将枚举名和一个整型值相对

Swift 学习- 09 -- 枚举

// 递归枚举 // 美家居为一组相关的值定义了一个共同的类型, 使你可以在代码中以类型安全的的方式使用这些值. // 如果你熟悉C语言, 你会知道在C语言中, 枚举会为一组整型值分配相关联的名称, swift 中的枚举更加的灵活, 不必给每一个枚举成员提供一个值,如果给枚举成员提供一个值 (称为原始值), 则该值的类型可以是字符串,字符, 或者是一个整型值或浮点数, // 此外, 枚举成员可以指定任意类型的关联值存储到枚举成员中, 你可以在一个枚举中定义一组相关的枚举成员, 每一个枚举成员都可

【Swift学习】Swift编程之旅---枚举(十二)

枚举为一组相关的值定义一个共同的类型,并允许您在代码中的以类型安全的方式中使用这些值,在 Swift 中,枚举类型是一等(first-class)类型.它们采用了很多传统上只被类所支持的特征,例如计算型属性(computed properties),用于提供关于枚举当前值的附加信息,实例方法(instance methods),用于提供和枚举所代表的值相关联的功能.枚举也可以定义构造器(initializers)来提供一个初始成员值:可以在原始的实现基础上扩展它们的功能:可以遵守协议(proto

Swift学习笔记十二:下标脚本(subscript)

下标脚本就是对一个东西通过索引,快速取值的一种语法,例如数组的a[0].这就是一个下标脚本.通过索引0来快速取值.在Swift中,我们可以对类(Class).结构体(structure)和枚举(enumeration)中自己定义下标脚本的语法 一.常规定义 class Student{ var scores:Int[] = Array(count:5,repeatedValue:0) subscript(index:Int) -> Int{ get{ return scores[index];

Swift学习笔记十:属性

1.存储属性       1. 作为特定类或结构实例的一部分,存储属性存储着常量或者变量的值.存储属性可分为变量存储属性(关键字var描述)和常量存储属性(关键字let描述). struct student{ let name = "" var score = 0 } let a = student(name:"小笨狼",score:96)           注意:                ① 定义储存属性时,需要为每一个属性定义一个默认值.在初始化的时候,

Swift学习笔记:类和结构

一.类和结构的异同 类和结构有一些相似的地方,它们都可以: 1. 定义一些可以赋值的属性: 2. 定义具有功能性的方法 3. 定义下标,使用下标语法 4. 定义初始化方法来设置初始状态 5. 在原实现方法上的可扩展性 根据协议提供某一特定类别的基本功能 1. 类还有一些结构不具备的特性: 2. 类的继承性 3. 对类实例实时的类型转换 4. 析构一个类的实例使之释放空间 5. 引用计数,一个类实例可以有多个引用 1. 定义语法 struct Name{ let firstName = "&quo