我目前正在阅读文件,需要将第一行与硬编码值进行比较。我这样做:
let mut file = BufferedReader::new(File::open(path));
let mut first: bool = true;
for a_line in file.lines() {
let line = a_line.unwrap();
if first && line.as_slice() != "[tag]" {
println!("Returning None");
return None;
}
first = false;
}
我知道first
为真,println!("{}", line)
显示为"[tag]"
,但比较似乎总是返回false。我错过了什么?
答案 0 :(得分:1)
你的行字符串中可能有换行符。在拍摄片段之前,您可以使用trim
方法及其在字符串上的变体。