所以说我们要把传vec0改成传vec0的引用,传引用是不会交出所有权的.在函数中对此引用产生一个拷贝,将此拷贝传回来,这个拷贝是实际的Vec类型而不是引用
// move_semantics2.rs
/...(x, 1200);
}
不能对一个变量同时创建两个可变引用,改成这样就好:
fn main() {
let mut x = 100;
let z = &mut x;
*z +=..., Message::ChangeColor);
}
7-2
这次的声明需要我们像书上说的那样,让枚举变量的每一个枚举值和一个结构体匹配.可能不仅仅是一个结构体,有可能是一个元组或者仅仅是一个值.
//...(icecreams, Some(5));
}
}
13-2
这一题需要我们了解if-let和while-let的用法,if-let和while-let的核心用法就是匹配.
if let Some...(i) = 一个Option值,当匹配的时候,产生一个新的变量i并且执行下面的操作.while-let也是如此
核心的思想就是Some(i) = 一个Option值,然后这样可以巧妙地提取Option