切换开关与三元运算符

时间:2018-04-22 13:40:53

标签: swift conditional-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
    }
}

1 个答案:

答案 0 :(得分:6)

条件运算符将布尔表达式作为第一个操作数:

var flip2: Coin {
    return self == .heads ? .tails : .heads
}