表达式的空值

时间:2016-07-23 15:16:02

标签: rust expression

为什么我使用此代码在变量a中获取空值? 此外,如果没有{:?}格式,则无法编译?

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

2 个答案:

答案 0 :(得分:5)

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

另请注意,let a = ...;实际上并不会改变a,而是创建一个新的a,它会隐藏前一个(),并被指定为VectorXd

答案 1 :(得分:2)

与C之类的其他语言不同,赋值表达式不会计算为赋值;作业总是评估为()