(swift)二进制运算符'+'不能应用于两个'Bool'操作数

时间:2016-08-28 15:49:29

标签: swift boolean

我是编程的新手,我正在迅速尝试。但是这个简单的代码不起作用,因为两个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)

1 个答案:

答案 0 :(得分:2)

你不能将(+)加起来为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