范围和阴影
变量绑定有一个范围,并且被约束在一个块中。块是语句的集合括在大括号%uA0{}
%uA0内,所以,%uA0变量阴影%uA0是被允许的。
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&apost exist in this scope println!("outer short: {}", short_lived_binding) // FIXME ^ Comment out this line println!("outer long: {}", long_lived_binding) }