当前位置: 首页 > 网络应用技术

生锈的功能参数是可变且不可变的

时间:2023-03-06 13:34:09 网络应用技术

  假设有以下结构:

  如果要设计一个函数,则可以更改结构中成员X的值:

  汇编结果如下:

  您需要添加mut:

  如果您只想修改成员x的值:

  编译未通过:

  同时,将有一个前条件,即,通过的参数必须为mut:

  错误是:

  变成:

  换句话说,使用mut引用,最初的条件是必须将传递参数声明为mut。

  您也可以添加和mut添加&mut,以免所有权转移,并且可以修改变量本身:

  总结几个参数:A:Anny no mut A:Ayyna:&annn no a:&mut anynymut a:&mut ayyny注意:所有权的传输基于没有复制和克隆特征的数据类型,否则将是复制的。本质

  Mut&Mut什么时候?如果结构具有复制特性怎么办?

  运行结果:

  可以看出,如果对象具有复制特征,则不会转让所有权,并且将直接复制。

  因此,如果要修改数据,最可靠的方法是:

  该变量最终成功地修改了: