Rust 程序设计语言 简体中文版 1.85.0与之相关联的地址数据是 127.0.0.1。第二个实例,loopback, kind 的值是 IpAddrKind 的另一个变体,V6,关联的地址是 ::1。我们使用了一个结构体来将 kind 和 address 打包在一起,现在枚举变体就与值相关联了。 我们可以使用一种更简洁的方式来表达相同的概念,仅仅使用枚举并将数据直接放进每一个枚 举变体而不是将枚举作为结构体的一部分。IpAddr 枚举的新定义表明了 V4 错误是软件开发中不可避免的事实,所以 Rust 有一些处理出错情况的特性。在许多情况下, Rust 要求你承认错误的可能性,并在你的代码编译前采取一些行动。这一要求使你的程序更 加健壮,因为它可以确保你在将代码部署到生产环境之前就能发现错误并进行适当的处理。 Rust 将错误分为两大类:可恢复的(recoverable)和 不可恢复的(unrecoverable)错误。对 于一个可恢复的错误,比如文件未找到 中很多并发错误都是编译时错误,而非运行时错误。 因此,相比花费大量时间尝试重现运行时并发 bug 出现的特定情况,不正确的代码会直接编 译失败并提供解释问题的错误信息。因此,你可以在开发时修复代码,而不是在部署到生产环 境后修复代码。我们给 Rust 的这一部分起了一个绰号无畏并发(fearless concurrency)。无畏 并发令你的代码免于出现诡异的 bug 并可以轻松重构且无需担心会引入新的 bug。0 码力 | 562 页 | 3.23 MB | 1 月前3
共 1 条
- 1













