Rust编程:文件读取、测试与 cat 程序克隆
1. 文件读取与 Result 类型
在Rust中, fs::read_to_string 是一种将文件内容读取到内存中的便捷方式。不过,如果读取的文件大小超过可用内存,程序可能会崩溃,甚至导致计算机出现问题。因此,该函数仅适用于小文件。
运行 cargo test 时,可能会看到如下输出:
running 2 tests
test hello1 ... ok
test dies_no_args ... ok
在之前的代码中,常使用 Result::unwrap 方法,默认每个可能出错的调用都会成功。但这种假设存在风险,为了更加谨慎,创建了一个名为 TestResult 的类型别名:
type TestResult = Result<(), Box<dyn std::error::Error>>;
这里的 Box 表示错误将存储在一种指针中,其内存是在堆上动态分配的,而不是栈上。 dyn 用于强调对关联特征方法的调用是动态分派的。简单来说, TestResult 的 Ok 部分仅包含单元类型,而
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



