switch 开关 vs 三元运算符
Switch switch vs ternary operator
在下面的示例代码中:为什么 flip1
编译但 flip2
不编译?
enum Coin {
case heads
case tails
var flip1: Coin {
switch self {
case .heads: return .tails
case .tails: return .heads
}
}
var flip2: Coin {
return self.heads ? .tails : .heads
}
}
条件运算符将 布尔值 表达式作为第一个操作数:
var flip2: Coin {
return self == .heads ? .tails : .heads
}
在下面的示例代码中:为什么 flip1
编译但 flip2
不编译?
enum Coin {
case heads
case tails
var flip1: Coin {
switch self {
case .heads: return .tails
case .tails: return .heads
}
}
var flip2: Coin {
return self.heads ? .tails : .heads
}
}
条件运算符将 布尔值 表达式作为第一个操作数:
var flip2: Coin {
return self == .heads ? .tails : .heads
}