2 个版本
0.1.1 | 2023年6月14日 |
---|---|
0.1.0 | 2023年6月14日 |
#79 in #demo
8KB
my-first-cli-tool
已学到的内容
BufReader
比read_to_string
更好- 我们可以轻松地用
return
替代panic!
let result = std::fs::read_to_string("test.txt");
let content = match result {
Ok(content) => { content },
Err(error) => { return Err(error.into()); }
};
unwrap()
是与panic!
匹配的快捷方式Box<dyn std::error::Error>
:这是一个可以包含任何实现了标准Error
特性的类型的 Box。所有错误都可以放入这个 Box 中
fn main() -> Result<(), Box<dyn std::error::Error>> {
// `?` expands to code that converts error types and returns error
let content = std::fs::read_to_string("test.txt")?;
println!("file content: {}", content);
Ok(())
}
println!
告诉系统每次都要刷新到终端(从缓冲区到终端)- 按照惯例,Cargo 将在 tests/ 目录中查找集成测试。
参考
依赖项
~1.3–1.9MB
~35K SLoC