是否可以在Swift中创建一个枚举类型的“关闭”?

前端之家收集整理的这篇文章主要介绍了是否可以在Swift中创建一个枚举类型的“关闭”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我尝试下面的代码,我得到一些错误.
enum Operate: ((Double,Double) -> Double) = {
    case Plus = {$1 + $0}
    case Minus = {$1 - $0}
    case Multiply = {$1 * $0}
    case Divide = {$1 / $0} 
}

是否可以在Swift中创建一个枚举类型的“关闭”?
谢谢.

正如@Pang所说,只能使用字符串,字符或任何整数的浮点数类型作为原始类型.但是,您可以使用结构体来获得类似的东西:
struct Operate {
    typealias OperationType = (Double,Double) -> Double

    static let Plus : OperationType = { $0 + $1 }
    static let Minus: OperationType = { $0 - $1 }
    // ...
}

let plus = Operate.Plus
plus(1.0,2.0) // 3.0

猜你在找的Swift相关文章