【发布时间】:2016-07-23 15:16:02
【问题描述】:
为什么我使用这段代码在变量a 中得到一个空值?
另外,如果没有 {:?} 格式,这不会编译?
fn main() {
let mut a = 5;
let mut b = 6;
let n = 7;
let a = b = n;
println!("{:?}", a);
}
【问题讨论】:
标签: rust expression
为什么我使用这段代码在变量a 中得到一个空值?
另外,如果没有 {:?} 格式,这不会编译?
fn main() {
let mut a = 5;
let mut b = 6;
let n = 7;
let a = b = n;
println!("{:?}", a);
}
【问题讨论】:
标签: rust expression
与 C 和其他一些语言不同,赋值表达式(此处为 b = n)在 Rust 中返回 ()。
另请注意,let a = ...; 实际上并没有改变a,而是创建一个新的a,它会影响前一个并分配()。
【讨论】:
与其他语言(如 C)不同,赋值表达式不会计算赋值;分配总是评估为()。
【讨论】:
()。 b = n 是一个赋值表达式。因此a的值为()。