考虑:
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
这是否可能,如果没有,这是一个刻意的语言设计决定吗?
答案 0 :(得分:18)
您可以使用if-case
操作数
if case .foo = test {
doSomething()
}