Vector 如何在迭代过程中改变向量的项?

Vector 如何在迭代过程中改变向量的项?,vector,rust,iterator,borrow-checker,mutability,Vector,Rust,Iterator,Borrow Checker,Mutability,我有一个结构的Vec。当使用.iter()迭代这个Vec时,我想编辑for循环中的每个元素,但是我得到一个错误,说每个元素都已经被借用了,我如何解决这个问题?下面是一个小代码示例: struct complex\u struct{ 属性1:i32 } 让元素:Vec=生成_数据(); 对于elements.iter()中的元素{ element.attr1=0; } 使用从迭代器中获取可变元素: #[派生(调试)] 结构复合体结构{ 属性1:i32 } fn main(){ 让mut元素:Vec

我有一个结构的
Vec
。当使用
.iter()
迭代这个
Vec
时,我想编辑
for
循环中的每个元素,但是我得到一个错误,说每个元素都已经被借用了,我如何解决这个问题?下面是一个小代码示例:

struct complex\u struct{
属性1:i32
}
让元素:Vec=生成_数据();
对于elements.iter()中的元素{
element.attr1=0;
}
使用从迭代器中获取可变元素:

#[派生(调试)]
结构复合体结构{
属性1:i32
}
fn main(){
让mut元素:Vec=Vec![ComplexStruct{attr1:5}];
对于元素中的元素。iter_mut(){
element.attr1=0;
}
dbg!(元素);//打印出[ComplexStruct{attr1:0}]
}

使用从迭代器中获取可变元素:

#[派生(调试)]
结构复合体结构{
属性1:i32
}
fn main(){
让mut元素:Vec=Vec![ComplexStruct{attr1:5}];
对于元素中的元素。iter_mut(){
element.attr1=0;
}
dbg!(元素);//打印出[ComplexStruct{attr1:0}]
}

谢谢!这正是我需要的。谢谢!这正是我需要的。