我感到很惊讶的是,以下程序会被成功编译并运行(使用“cargo 1.42.0 (86334295e 2020-01-31).”),输出:
5 k
变量x没有被声明为mut,但它不仅被重新赋值,而且被赋予了不同的类型。是否有某些原因允许这样做?
5 k
变量x没有被声明为mut,但它不仅被重新赋值,而且被赋予了不同的类型。是否有某些原因允许这样做?
fn main() {
let x = 5;
println!("{}", x);
let t: (i32, f64, char) = (2, 3.14, 'k');
let (_,_,x) = t;
println!("{}", x);
}