【问题标题】:(swift) Binary Operator '+' Cannot be applied to two 'Bool' Operands(swift) 二元运算符 '+' 不能应用于两个 'Bool' 操作数
【发布时间】:2016-08-28 15:49:29
【问题描述】:

我是编程新手,我正在尝试快速退出。但是这个简单的代码不起作用,因为两个 bool 操作数不能组合。有人可以解决这个问题吗?

var money = true
var debt = true

if money {
var money = 500
} else {
var money = 0
}

if debt {
var debt = -10
} else {
var debt = 0
}

var totalMoney = debt + money

print (totalMoney)

【问题讨论】:

  • 为什么将初始值设置为true?将其设置为 0
  • 您打算如何将布尔值相加?真 + 真 = ?

标签: swift boolean


【解决方案1】:

您不能将 (+) 与 2 个布尔值相加。

这条线是什么意思?

true + false

您还有其他可用于布尔运算的运算符,例如 OR || 或 AND &&

更多

我怀疑你想总结你定义的变量你的 IF/ELSE 块的范围

if money {
    var money = 500 // <- this
} else {
    var money = 0 // <- and this right?
}

但这些变量只存在于声明它们的{ } 中。

所以我建议为你的货币和债务布尔值使用不同的名称,并在你的 if 范围之外定义货币和债务(Int 变量/常量)

var isMoney = true
var isDebt = true

let money: Int
let debt: Int

if isMoney {
    money = 500
} else {
    money = 0
}

if isDebt {
    debt = -10
} else {
    debt = 0
}

var totalMoney = debt + money

测试

print(totalMoney)
// 490

现在您可以对 debtmoney 求和,因为它们是 Int

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-21
    • 2015-08-26
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    相关资源
    最近更新 更多