加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

7.4 Swift原始值fromRaw方法

发布时间:2020-12-14 06:32:48 所属栏目:百科 来源:网络整理
导读:enum Method2: String { case Add = "addStr" case Sub = "subStr" case Mul = "mulStr" case Div = "divStr" } print ( "---------------" ) // 老版本中是 // Method2.Div.toRaw() print ( Method2 . Div . rawValue ) // 这里是可选类型 // let op1 = Met

enum Method2:String {

case Add = "addStr"

case Sub = "subStr"

case Mul = "mulStr"

case Div = "divStr"

}

print("--------------->")

// 老版本中是

// Method2.Div.toRaw()

print(Method2.Div.rawValue)


// 这里是可选类型

// let op1 = Method2.RawValue("Add")

// print(op1)

// let op2 = Method2.RawValue("add")

// print(op2!)


// Method2.fromRaw("add")

let m1 = Method2(rawValue: "add")

print(m1)


let m2 = Method2(rawValue: "addStr")

print("--------->")

print(m2)

print(m2!)


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

// 由于返回是可选类型,所以有可能为nil,最好使用可选绑定

if let rawop = Method2(rawValue: op) {

switch rawop {

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 { return $0 * $1 }

case .Div:

// 返回一个闭包,return也省略掉

return { $0 / $1 }

default:

return { $0 + $1 }

}

}

return { $0 + $1 }

}

let val = chooseMethod(op: "addStr")(30,7)

print("--------->")

print(val)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读