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

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...