假设有以下结构:
如果要设计一个函数,则可以更改结构中成员X的值:
汇编结果如下:
您需要添加mut:
如果您只想修改成员x的值:
编译未通过:
同时,将有一个前条件,即,通过的参数必须为mut:
错误是:
变成:
换句话说,使用mut引用,最初的条件是必须将传递参数声明为mut。
您也可以添加和mut添加&mut,以免所有权转移,并且可以修改变量本身:
总结几个参数:A:Anny no mut A:Ayyna:&annn no a:&mut anynymut a:&mut ayyny注意:所有权的传输基于没有复制和克隆特征的数据类型,否则将是复制的。本质
Mut&Mut什么时候?如果结构具有复制特性怎么办?
运行结果:
可以看出,如果对象具有复制特征,则不会转让所有权,并且将直接复制。
因此,如果要修改数据,最可靠的方法是:
该变量最终成功地修改了: