当我尝试下面的代码,我得到一些错误.
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