首页 > 解决方案 > 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中我们可以使用一个| 做。但不是很快,如果有人知道该怎么做。

标签: swift

解决方案


这是因为如果第一个操作数为真,逻辑或停止其评估。因此,如果test1为真,test2则根本不会被评估。如果您想同时执行这两个函数并在这些存储的值上执行 or ,建议将这两个函数的结果存储到变量中。


推荐阅读