为什么我使用此代码在变量a
中获取空值?
此外,如果没有{:?}
格式,则无法编译?
fn main() {
let mut a = 5;
let mut b = 6;
let n = 7;
let a = b = n;
println!("{:?}", a);
}
答案 0 :(得分:5)
与C和其他一些语言不同,赋值表达式(此处为b = n
)在Rust中返回()
。
另请注意,let a = ...;
实际上并不会改变a
,而是创建一个新的a
,它会隐藏前一个()
,并被指定为VectorXd
。
答案 1 :(得分:2)
与C之类的其他语言不同,赋值表达式不会计算为赋值;作业总是评估为()
。