gpt4 book ai didi

swift - 使用 while 循环和 let 关键字的令人困惑的生成器类型实现

转载 作者:行者123 更新时间:2023-11-28 06:32:29 26 4
gpt4 key购买 nike

我很困惑为什么在实现 Fibonacci 生成器时要使用 let 关键字。

struct FibonacciGenerator: GeneratorType {
typealias Element = Int

var values = (0, 1)

mutating func next() -> Element? {
self.values = (
self.values.1,
self.values.0 + self.values.1
)
return self.values.0
}
}

var generator = FibonacciGenerator()
while let next = generator.next() {
if next > 10 {
break
}
print(next)
}

为什么我们在 while 循环中(在下一条语句之前)使用 let 而不是 var

最佳答案

let 应该在定义常量时使用,这意味着该值之后可能不会更改,这里就是这种情况。如果您要在任何时候修改 next,则必须使用 var 关键字将其声明为变量。

关于swift - 使用 while 循环和 let 关键字的令人困惑的生成器类型实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39937780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com