直接上代码吧!
use std::io;
fn main() {
println!("Guess th number!");
println!("Please input your guess.");
let mut guess = String::new();
io::stdin().read_line(&mut guess).expect("Failed to read line");
println!("You guessed: {}", guess);
}
很有意思,rust借鉴了很多函数式编程的思想,前几年学过Haskell,现在感到有些面熟。下面这个命令,没有用C++惯用的构造函数,而是使用了一个函数,返回一个类的实例。
let mut guess = String::new();
rust的编译机制确保这个过程具有极高的运行效率。如果C++这样做,想获得高效率,很繁琐,左值引用、右值引用等一堆概念,直接把人绕晕。
rust直接用函数io::stdin()返回输入设备对象,也是函数的形式,没有采用直接用变量或引用的方式。C++的cin是个赤裸裸的输入设备对象。