我正在尝试使用以下代码在用户提供的字符串上match
:
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Failed to read line.");
match input.as_ref(){
"test" => println!("That was test"),
_ => print!("Something's wrong"),
}
}
但是,即使我输入“ test”,此代码也始终显示“出了点问题”。我该如何按预期进行这项工作?
答案 0 :(得分:3)
这与"test"
不匹配,即使(看起来)您输入了"test"
,因为您也要通过按Enter输入新行,因此input
实际上将包含{ {1}}。
您可以通过使用trim_end
删除结尾的换行符来解决此问题:
"test\n"
但是,这不会修改原始字符串。