我是一位有用的助手,可以翻译文字。
然而,现在编译器会在比较行上抛出错误,表示x未被声明。
这种方式是可行的,但我一直在思考能否在没有赋值的情况下声明类型。
我刚接触Rust,想声明一个未初始化的有类型变量,这在Rust中是否可行?如果可以,是否建议这样做呢?或者有更加符合Rust风格的方式吗?
我正在查看来自rustlings的以下代码,由于无法推断x的类型而无法编译:
let x;
if x == 10 {
println!("Ten!");
}
所以,我尝试了这个:
let x: i32;
然而,现在编译器会在比较行上抛出错误,表示x未被声明。
这种方式是可行的,但我一直在思考能否在没有赋值的情况下声明类型。
let x: i32 = 10;
或者说正确的方法是设计你的代码以避免在第一时间出现这种情况吗?我来自C语言背景,可能对类型懒惰得有些过分。
let x = unsafe { mem::uninitialized::<i32>() }
的操作。 - Bubletan