示例代码:
enum myEnum {
case foo, bar, baz
}
var myVar:myEnum = .foo
if myVar == .foo || myVar == .bar {
}
我想知道是否有更简单的是在没有开关的情况下编写if条件(如果我需要与其他条件链接)?
答案 0 :(得分:4)
如果您的目标是简洁的代码和可读性,并且您不关心潜在的效率问题/未来的调整范围,那么您可以:
if [ .foo, .bar ].contains(myVar) {
答案 1 :(得分:2)
如果您要将大量案例与以下内容进行比较,则可以使用aws_ses_newsletters
contains
用法:
enum MyEnum {
case Foo, Bar, Baz, Qux // and many more
func isAmong(conditions: [MyEnum]) -> Bool {
return conditions.contains(self)
}
}