Rust變量綁定-範圍和陰影
範圍和陰影
變量綁定有一個範圍,並且被約束在一個塊中。塊是語句的集合括在大括號 {}
內,所以, 變量陰影 是被允許的。
fn main() { // This binding lives in the main function let long_lived_binding = 1; // This is a block, and has a smaller scope than the main function { // This binding only exists in this block let short_lived_binding = 2; println!("inner short: {}", short_lived_binding); // This binding *shadows* the outer one let long_lived_binding = 5_f32; println!("inner long: {}", long_lived_binding); } // End of the block // Error! `short_lived_binding` doesn't exist in this scope println!("outer short: {}", short_lived_binding); // FIXME ^ Comment out this line println!("outer long: {}", long_lived_binding); }