如何让 Swift 循环无限期地(永远)运行?

Gab*_*den 1 primes func ios swift

我编写了一个函数,当前可以显示 1000 以下的所有素数。

我可以继续增大 1000 来生成更多数字,但我不知道如何让它在运行后永远持续下去。

func generatePrimes() {
    let numbers = 2...1000
    for n in numbers {
        var prime = true

        for i in 2..<n { 
            if n % i == 0 {
                prime = false
                break
            }
        }

        if prime == true {
            print(n)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以使用while参数为 的循环true。这样,循环就永远不会结束。

func generatePrimes() {
    var n = 2
    while true {
        var prime = true

        for i in 2..<n { 
            if n % i == 0 {
                prime = false
                break
            }
        }

        if prime == true {
            print(n)
        }

        n += 1
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我们在 while 循环的每次迭代中使用变量 ( n) 和增量(加 1)。

如果你希望它在遇到 some 时结束n,你可以有一个条件来检查nandbreak是否在循环之外:

var n = 2
while true {
    if n == 1000 {
        break
    }
    n += 1
}
Run Code Online (Sandbox Code Playgroud)

上面的代码将在n命中时停止执行1000,并且在这种情况下不会打印任何内容。