我发现的所有答案都是基于from_str(如Reading in user input from console once efficiently),但显然from_str(x)在锈蚀1中已变成x.parse()。作为一个新手,考虑到这一变化,最初的解决方案应该如何调整并不明显。
从Rust1.0开始,从用户那里获取整数输入的最简单方法是什么?

最佳答案

下面是一个版本,其中包含所有可选的类型注释和错误处理,这对像我这样的初学者可能很有用:

use std::io;

fn main() {
    let mut input_text = String::new();
    io::stdin()
        .read_line(&mut input_text)
        .expect("failed to read from stdin");

    let trimmed = input_text.trim();
    match trimmed.parse::<u32>() {
        Ok(i) => println!("your integer input: {}", i),
        Err(..) => println!("this was not an integer: {}", trimmed),
    };
}

10-02 22:43