面试题答案
一键面试在Rust中,可以使用std::fs::read_to_string
函数来读取文件内容。这个函数返回一个Result<String, std::io::Error>
。如果文件不存在,它会返回一个包含错误信息的Err
。我们可以将这个Result
转换为Option
来简化处理逻辑。
以下是使用Option
枚举处理文件不存在情况的代码示例:
use std::fs::read_to_string;
fn read_file_content(file_path: &str) -> Option<String> {
match read_to_string(file_path) {
Ok(content) => Some(content),
Err(_) => None,
}
}
fn main() {
let file_path = "nonexistent_file.txt";
if let Some(content) = read_file_content(file_path) {
println!("File content: {}", content);
} else {
println!("File not found or other error occurred.");
}
}
在上述代码中:
read_file_content
函数接受一个文件路径作为参数。- 使用
read_to_string
尝试读取文件内容。如果成功,返回Some(content)
;如果失败(包括文件不存在),返回None
。 - 在
main
函数中,调用read_file_content
并使用if let
语法来处理Option
。如果是Some
,则打印文件内容;如果是None
,则打印错误信息。