【发布时间】:2021-04-17 07:54:26
【问题描述】:
我无法理解这里关于 Rust 闭包的概念。正如我的代码计数默认为i32。当我创建可变闭包时,它将对其中使用的变量进行可变引用,如文档中所述。
当我在循环中调用 inc 闭包并尝试在循环内打印计数值时,我会得到可变借用错误,但如果我在循环外打印计数值,那就没问题了。即使在循环中,当我在打印宏 inc() 超出范围之前调用 inc() 闭包时,它为什么会引发错误。
fn main() {
let mut count = 0;
let mut inc = || {
count += 2;
};
for _index in 1..5 {
inc();
println!("{}", count);
}
}
【问题讨论】:
标签: rust closures mutable ownership