【发布时间】:2018-09-10 08:45:04
【问题描述】:
func addOne() -> Bool {
x += 1
print("111")
return true
}
if true || addOne() && addOne() && addOne(){
print("open the door")
} else {
print("can't open the door")
}
我知道逻辑运算符是从左到右计算的,但在这种情况下,addOne 函数不会在这种情况下调用。
所以x 的值是0 我期望2 如何解决这个逻辑运算符顺序?
【问题讨论】:
-
你想达到什么目的?
-
if true ||之后的任何内容都会被忽略。 -
还要注意
&&的优先级高于||。你的情况意味着true || (addOne() && addOne() && addOne()) -
我还想知道如果您(尝试)将
x增加 3 次,为什么您期望它为 2。
标签: swift