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

时间:2017-06-27 22:35:16

标签: swift enums switch-statement

如果我在枚举中设置了我的案例,我可以在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
    }
  }
}

2 个答案:

答案 0 :(得分:12)

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

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

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

答案 1 :(得分: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语句合并为一个。