Rust 程序设计语言 简体中文版 1.85.0--release 并使用 target/release 下的可执行文件进行测试。 把 Cargo 当作习惯 对于简单项目,Cargo 并不比 rustc 提供了更多的优势,但随着程序变得更复杂,其价值会逐 渐显现。一旦程序壮大到由多个文件组成,亦或者是需要其他的依赖,让 Cargo 协调构建过 程就会简单得多。 即便 hello_cargo 项目十分简单,它现在也使用了很多在你之后的 Rust 向引用的类型系统。我的目标是通过编译器的自动检查来保证所有引用的使用都应该 是绝对安全的。不过我未能抵抗住引入一个空引用的诱惑,仅仅是因为它是这么的容 易实现。这引发了无数错误、漏洞和系统崩溃,在过去四十年里可能造成了价值十亿 美元的痛苦和损失。 空值的问题在于当你尝试像一个非空值那样使用一个空值,会出现某种形式的错误。因为空和 非空的属性无处不在,非常容易出现这类错误。 然而,空值尝试表达的概念仍然是有意义的: 作为一个例子,让我们修改枚举的一个变体来存放数据。1999 年到 2008 年间,美国在 25 美 分的硬币的一侧为 50 个州的每一个都印刷了不同的设计。其他的硬币都没有这种区分州的设 计,所以只有这些 25 美分硬币有特殊的价值。可以将这些信息加入我们的 enum,通过改变 Quarter 变体来包含一个 State 值,示例 6-4 中完成了这些修改: #[derive(Debug)] // 这样可以立刻看到州的名称0 码力 | 562 页 | 3.23 MB | 1 月前3
共 1 条
- 1













