swift - swift - 执行两个函数,甚至第一个在 or 语句中返回 true
问题描述
我正在尝试执行这两个函数,但是当第一个函数返回 true 时,第二个函数不会被执行。
func run() {
if test1() || test2() {
doSomething()
}
}
func test1() -> Bool {
print("test1")
return true
}
func test2() -> Bool {
print("test2")
return false
}
func DoSomething() {
print("something")
}
Getting Result ::
test1
something
Wanted Result ::
test1
test2
something
在Android中我们可以使用一个| 做。但不是很快,如果有人知道该怎么做。
解决方案
这是因为如果第一个操作数为真,逻辑或停止其评估。因此,如果test1
为真,test2
则根本不会被评估。如果您想同时执行这两个函数并在这些存储的值上执行 or ,建议将这两个函数的结果存储到变量中。
推荐阅读
- c - 在运行时获取 ram 部分的地址
- java - Jpa 在第一个和第二个表中加入 where 子句
- linux - 如何调整列的块大小
- openedge - Progress Developer Studio for OpenEdge 出现语法错误,但从 Progress Editor 检查语法时,相同的代码不会出现任何语法错误
- sql-server - 如何检测 SQL Server 中查询执行的来源?
- android - 如何更改 apk 的方向,锁定在横向
- python - 在 python pandas 中使用 group by 方法的变量
- terraform - Tarraform iam 策略资源定义有条件地基于变量
- java - OnClickListener 代码运行但未命中断点(Android Studio)
- powershell - 替换powershell中的正则表达式值