考虑:
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'操作数
这是否可能,如果不可能,这是一个深思熟虑的语言设计决策吗?
您可以使用if-case
操作数
if case .foo = test {
doSomething()
}