类型推断
Rust 的类型推断引擎是很聪明的,它不只是在初始化时看看右值(r-value)的 类型而已,它还会考察变量之后会怎样使用,借此推断类型。这是一个类型推导的进阶例子:
fn main() {
// 因为有类型说明,编译器知道 `elem` 的类型是 u8。
let elem = 5u8;
// 创建一个空向量(vector,即不定长的,可以增长的数组)。
let mut vec = Vec::new();
// 现在编译器还不知道 `vec` 的具体类型,只知道它是某种东西构成的向量(`Vec<_>`)
// 在向量中插入 `elem`。
vec.push(elem);
// 啊哈!现在编译器知道 `vec` 是 u8 的向量了(`Vec<u8>`)。
// 试一试 ^ 注释掉 `vec.push(elem)` 这一行。
println!("{:?}", vec);
}
没有必要写类型说明,编译器和程序员皆大欢喜!
当前内容版权归 rust-lang-cn 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 rust-lang-cn .