繁体   English   中英

让我们的语法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM