返回

在Rust中的循环中借用一个向量

发布时间:2022-03-03 05:49:38 235
# scala

我试图更新向量的每个元素,然后在每次迭代中借用整个向量,例如:

#![allow(unused)]

#[derive(Debug)]
pub struct Foo {
    value: i32,
}

fn main() {
    let mut foos: Vec = vec![Foo { value: 1 }, Foo { value: 2 }, Foo { value: 3 }];

    for foo in &mut foos {
        update_single(foo);

        //save_all(&foos); <-- this doesn't compile - there's already a mutable borrow
    }
}

fn update_single(foo: &mut Foo) {
    println!("update_single");
    foo.value *= foo.value;
}

fn save_all(foos: &Vec) {
    println!("save_all:");
    for foo in foos {
        println!("\t{:?}", foo);
    }
}

注意:我正在将更新的向量保存为blob,例如viaserde_json.

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
相关帖子
下一篇
intellij idea-项目已经在GitHub上 2022-03-03 04:55:49