【问题标题】:Can I test whether an enum value is a particular case without using a switch statement? [duplicate]我可以在不使用 switch 语句的情况下测试枚举值是否是特定情况吗? [复制]
【发布时间】:2017-02-11 23:57:22
【问题描述】:

考虑:

enum Test {
    case foo
    case bar
    case baz
    case etc
}

var test: Test = ...

我想特别测试一下枚举是否是bar。我可以只使用 switch 语句:

switch test {
case .bar:
    doSomething()
default:
    break
}

如果我可以改用if,那就更简洁了:

if test == .bar {
    doSomething()
}

但除非我遗漏了什么,否则没有办法做到这一点:

Binary operator '==' cannot be applied to two 'Test' operands

这可能吗?如果不可能,这是经过深思熟虑的语言设计决定吗?

【问题讨论】:

标签: swift enums


【解决方案1】:

您可以使用if-case 操作数

if case .foo  = test {
   doSomething()
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多