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