Expand description
将值绑定到变量。
let
关键字的主要用途是在 let
语句中,该语句用于将一组新变量引入到当前的作用域中,如模式所示。
let thing1: i32 = 100;
let thing2 = 200 + thing1;
let mut changing_thing = true;
changing_thing = false;
let (part1, part2) = ("first", "second");
struct Example {
a: bool,
b: u64,
}
let Example { a, b: _ } = Example {
a: true,
b: 10004,
};
assert!(a);
Run模式通常是单个变量,这意味着不进行模式匹配,并且给定的表达式已绑定到该变量。
除此之外,鉴于 let
绑定是详尽无遗的,因此可以根据需要将其复杂化。
有关模式匹配的更多信息,请参见 Rust 书。
以后可以选择提供模式的类型,但是如果可能的话,编译器会自动推断出是否留空。
Rust 中的变量默认情况下是不可变的,并且要求将 mut
关键字设置为可变。
可以使用相同的名称定义多个变量,称为阴影。 除了无法在阴影点之外直接访问它之外,这不会以任何方式影响原始变量。 它继续保留在作用域中,只有在它离开离开作用域时才被丢弃。 带阴影的变量不需要与带阴影的变量具有相同的类型。
let shadowing_example = true;
let shadowing_example = 123.4;
let shadowing_example = shadowing_example as u32;
let mut shadowing_example = format!("cool! {shadowing_example}");
shadowing_example += " something else!"; // 不遮蔽
Runlet
关键字使用的其他位置包括 if let
表达式形式的 if
。
如果匹配的模式不是穷举的 (例如枚举),则它们很有用。
while let
也存在,它使用模式匹配对值进行循环,直到该模式无法匹配为止。