表达式的空值

edu*_*eon 0 expression rust

为什么我a使用此代码在变量中获取空值?另外,没有{:?}格式化这不编译?

fn main() {
    let mut a = 5;
    let mut b = 6;
    let n = 7;
    let a = b = n;
    println!("{:?}", a);
}
Run Code Online (Sandbox Code Playgroud)

Mat*_* M. 5

与C和其他一些语言不同,赋值表达式(b = n此处)()在Rust中返回.

另请注意,let a = ...;实际上并没有变异a,而是创建了一个新的a阴影,前一个阴影并被分配().