问题描述
我怎么被允许这样做?
fn procedure(param: f64) {
println!("{}",param + 9);
但是不允许在没有在参数上声明可变的情况下这样做?
fn procedure(mut param: f64) {
param += 9.;
println!("{}",param);
是不是因为在第二个函数中我直接作用于变量本身?
我正在尝试在 Rust 中学习所有权,但我对什么是“变异”感到困惑。对在打印宏中填充花括号的变量执行操作是否有不同的规则? 在我的主要功能中:
procedure(param_in_main);
println!("printing {} in main",param_in_main);
这两个函数将给出相同的结果而不改变传递的变量。我作为指南关注的视频强调了不改变 main 中传递的变量的可变性。但它并没有改变它在第一个程序中的开始。我想我只是误解了所说的内容,但在这种情况下,任何有关内存/副本的反馈都会很棒。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)