可以在Rust中进行以下绑定:
let &mut a = &mut 5;
但究竟是什么意思呢?例如, let a = &mut 5
创建一个不可变的类型绑定 &mut i32
, let mut a = &mut 5
创建一个类型的可变绑定 &mut i32
。关于什么 let &mut
?
可以在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;
这在解构中很有用,可以引用多个内部值。
测试某种类型的简单方法是将其分配给错误的类型:
let _: () = a;
在这种情况下,该值是“整数变量”或值整数。它不可变(用于测试 a += 1
显示)。
这是因为你正在使用 解构语法。你是模式匹配你的 &mut 5
反对 &mut _
,就像你写的那样
match &mut 5 { &mut a => {
// rest of code
} };
因此,您添加了一个可变引用并立即取消引用它。
要将可变引用绑定到值,您可以这样做
let ref mut a = 5;
这在解构中很有用,可以引用多个内部值。