从stdin读取输入会产生一个String,但是如何将其转换为整数?
use std::io;
fn main() {
println!("Type something");
let mut input = String::new();
io::stdin()
.read_line(&mut input)
.expect("Failed to read line");
println!("{}", input);
}
Run Code Online (Sandbox Code Playgroud)
She*_*ter 12
用途parse:
use std::io;
fn main() {
println!("Type something");
let mut line = String::new();
io::stdin()
.read_line(&mut line)
.expect("Failed to read line");
let input: u32 = line
.trim()
.parse()
.expect("Wanted a number");
println!("{}", input);
}
Run Code Online (Sandbox Code Playgroud)
请注意,从字符串中解析数字可能会失败,因此Result返回a.对于这个例子,我们对使用的故障情况感到恐慌expect.
另外,read_line不按下换行符Enter,因此trim在解析之前用于忽略该换行符.