未明确使用match()
,unwrap()
和panic!()
,我尝试使用稍微旧的学校返回代码错误检查范例,并使用以下示例:
use std::path::Path;
use std::fs::File;
use std::io::prelude::*;
use std::io::BufReader;
fn main() {
let path = Path::new("dd.txt");
let mut fileres = File::open(&path);
if let Ok(ref mut f) = fileres {
let mut reader = BufReader::new(f);
let mut line = String::new();
while let Ok(ref n) = reader.read_line(&mut line) {
if *n > 0 {
println!("line => >{}< ", &line);
}
else {
break;
}
line.clear();
}
}
}
这样好吗?还是有更优雅的方式?