gpt4 book ai didi

swift - 是否可以使用闭包的原始值类型在 Swift 中创建枚举?

转载 作者:IT王子 更新时间:2023-10-29 05:23:41 24 4
gpt4 key购买 nike

当我尝试执行以下代码时,出现了一些错误。

enum Operate: ((Double, Double) -> Double) = {
case Plus = {$1 + $0}
case Minus = {$1 - $0}
case Multiply = {$1 * $0}
case Divide = {$1 / $0}
}

是否可以在 Swift 中使用闭包的原始值类型创建枚举?谢谢。

最佳答案

正如@Pang 所说,只有字符串、字符或任何 float 类型的整数可以用作原始类型。但是,您可以使用 struct 实现类似的功能:

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 - 是否可以使用闭包的原始值类型在 Swift 中创建枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30422718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com