Swift可以在switch case语句中有多个参数吗?

问题描述 投票:5回答:2

如果我在枚举中设置了我的案例,我可以在switch语句中调用多个这样的案例吗?又名case .a, .b: return true

enum myLetters {
  case a
  case b
  case c

    var myCondition: Bool {
      switch self {
      case .a, .b: return true
      case .c: return false
      default: return false
    }
  }
}
swift enums switch-statement
2个回答
12
投票

是的,在documentation声明中查看Swift的switch

为了达到你想要的效果,你需要检查myLetters的当前值:

var myCondition: Bool {
    switch self {
    case .a, .b: return true
    case .c: return false
    }
}

1
投票

如果要对具有相同关联值的案例进行分组,可以执行以下操作:

var myCondition: Bool {
  switch self {
  case .a(let value), .b(let value): return value
  case .c(let value1, let value2): // do stuff with value1 and value 2
  }
}

遗憾的是,您目前无法将let语句合并为单个语句。

© www.soinside.com 2019 - 2024. All rights reserved.