我找到的现有答案都是基于from_str
(比如Reading in user input from console once efficiently),但显然在Rust 1.0中from_str(x)
变成了x.parse()
.作为一名新手,考虑到这一变化,不清楚应该如何调整原始解决方案.
从Rust 1.0开始,从用户那里获取整数输入的最简单方法是什么?
我找到的现有答案都是基于from_str
(比如Reading in user input from console once efficiently),但显然在Rust 1.0中from_str(x)
变成了x.parse()
.作为一名新手,考虑到这一变化,不清楚应该如何调整原始解决方案.
从Rust 1.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),
};
}