提问者:小点点

我可以在不使用switch语句的情况下测试枚举值是否为特定情况吗?[重复]


考虑:

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()
}

但是除非我错过了什么,否则没有办法做到:

二进制运算符'=='不能应用于两个'Test'操作数

这是否可能,如果不可能,这是一个深思熟虑的语言设计决策吗?


共1个答案

匿名用户

您可以使用if-case操作数

if case .foo  = test {
   doSomething()
}