Rust 程序设计语言 简体中文版 1.85.0在所有权的第一个例子中,我们看看一些变量的 作用域(scope)。作用域是一个项(item) 在程序中有效的范围。假设有这样一个变量: let s = "hello"; 变量 s 绑定到了一个字符串字面值,这个字符串值是硬编码进程序代码中的。这个变量从声明 的点开始直到当前作用域结束时都是有效的。示例 4-1 中的注释标明了变量 s 在何处是有效 的。 { // s 在这里无效,它尚未声明 类型就是一个很好的例子。 我们会专注于 String 与所有权相关的部分。这些方面也同样适用于标准库提供的或你自己创 建的其他复杂数据类型。在第八章会更深入地讲解 String。 我们已经见过字符串字面值,即被硬编码进程序里的字符串值。字符串字面值是很方便的,不 过它们并不适合使用文本的每一种场景。原因之一就是它们是不可变的。另一个原因是并非所 有字符串的值都能在编写代码时就知道:例如,要是想获取用户输入并存储该怎么办呢?为 Result 处理可恢复的错误 大部分错误并没有严重到需要程序完全停止执行。有时函数失败的原因很容易理解并加以处 理。例如,如果因为打开一个并不存在的文件而失败,此时我们可能想要创建这个文件,而不 是终止进程。 回忆一下第二章 “使用 Result 类型来处理潜在的错误” 部分中的那个 Result 枚举,它定义有 如下两个变体,Ok 和 Err: enum Result{ Ok(T) 0 码力 | 562 页 | 3.23 MB | 27 天前3
共 1 条
- 1













