Rust 程序设计语言 简体中文版 1.85.0call() 运行时 call 方 法中的 self 的值。 让我们看看标准库中的另一个非常常见且实用的枚举:Option。 Option 枚举及其相对于空值的优势 这一部分会分析一个 Option 的案例,Option 是标准库定义的另一个枚举。Option 类型应用广 泛因为它编码了一个非常普遍的场景,即一个值要么有值要么没值。 例如,如果请求一个非空列表的第一项,会得到一个值,如果请求一个空的列表,就什么也不 是不允许的。静态分析,正如 Rust 编译器,是天生保守的。但代码的一些属性不可能通过分 析代码发现:其中最著名的就是停机问题(Halting Problem),这超出了本书的范畴,不过 如果你感兴趣的话这是一个值得研究的有趣主题。 因为一些分析是不可能的,如果 Rust 编译器不能通过所有权规则编译,它可能会拒绝一个正 确的程序;从这种角度考虑它是保守的。如果 Rust 接受不正确的程序,那么用户也就不会相 信 内部 vector 中有多少个项,需要调用 RefCell> 的 borrow 以获取 vector 的不可变引用。 现在我们见识了如何使用 RefCell ,让我们研究一下它怎样工作的! RefCell 在运行时记录借用 当创建不可变和可变引用时,我们分别使用 & 和 &mut 语法。对于 RefCell 来说,则是 borrow 和 borrow_mut 0 码力 | 562 页 | 3.23 MB | 22 天前3
共 1 条
- 1













