[英]Let &mut syntax
可以在Rust中进行以下绑定:
let &mut a = &mut 5;
但究竟是什么意思呢? 例如, let a = &mut 5
创建一个类型为&mut i32
的不可变结合, let mut a = &mut 5
创建一个类型为&mut i32
的可变结合。 let &mut
怎么样?
测试某种类型的简单方法是将其分配给错误的类型:
let _: () = a;
在这种情况下,该值是“整数变量”或整数值。 它不可变(用a += 1
显示测试)。
这是因为您正在使用解构语法 。 你是&mut 5
与&mut _
匹配的模式,就像你写的那样
match &mut 5 { &mut a => {
// rest of code
} };
因此,您正在添加一个可变引用并立即解除引用它。
要将可变引用绑定到值,您可以这样做
let ref mut a = 5;
这在解构时很有用,可以引用多个内部值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.