微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – 我可以在不使用switch语句的情况下测试枚举值是否是特定情况?

参见英文答案 > How to compare enum with associated values by ignoring its associated value in Swift?4个
考虑:
enum Test {
    case foo
    case bar
    case baz
    case etc
}

var test: Test = ...

我想测试enum是否特别是bar.我可以使用switch语句:

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

如果我可以改为使用if:

if test == .bar {
    doSomething()
}

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

二进制运算符’==’不能应用于两个’测试’操作数

这是否可能,如果不是,这是一个刻意的语言设计决定吗?

您可以使用if-case操作数
if case .foo  = test {
   doSomething()
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐