可以在锈菌中进行以下绑定:
let &mut a = &mut 5;但这到底意味着什么呢?例如,let a = &mut 5创建&mut i32类型的不可变绑定,let mut a = &mut 5创建&mut i32类型的可变绑定。那let &mut呢
发布于 2015-07-08 16:52:32
测试某物的类型的一种简单方法是将其分配给错误的类型:
let _: () = a;在这种情况下,该值是一个“积分变量”,或一个按值整数。它不是可变的(如a += 1测试所示)。
这是因为您使用的是析构语法。您是将您的&mut 5与&mut _匹配的模式,就像您编写
match &mut 5 { &mut a => {
// rest of code
} };因此,您将添加一个可变引用并立即取消引用。
若要将可变引用绑定到值,可以执行以下操作
let ref mut a = 5;这对于销毁引用多个内部值是有用的。
https://stackoverflow.com/questions/31298802
复制相似问题