Keyword let[−][src]
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 book。
以后可以选择提供模式的类型,但是如果可能的话,编译器会自动推断出是否留空。
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!"; // 不遮蔽Run
let
关键字使用的其他位置包括 if let
表达式形式的 if
。
如果匹配的模式不是穷举的 (例如枚举),则它们很有用。
while let
也存在,它使用模式匹配值运行循环,直到该模式无法匹配为止。