Rust 程序设计语言 简体中文版 1.85.0
存。这在编程语言中是非常通用的。 然而,第二部分实现起来就各有区别了。在有 垃圾回收(garbage collector,GC)的语言中, GC 记录并清除不再使用的内存,而我们并不需要关心它。在大部分没有 GC 的语言中,识别 出不再使用的内存并调用代码显式释放就是我们的责任了,跟请求内存的时候一样。从历史的 角度上说正确处理内存回收曾经是一个困难的编程问题。如果忘记回收了会浪费内存。如果过 70/562Rust 程序设计语言 字符串也不能 改变 parse 方法的返回值类型:它仍然是一个 Result 值,而编译器仍然会要求我们处理这个 Result,好像还是有可能出现 Err 变体那样。这是因为编译器还没有智能到可以识别出这个字 符串总是一个有效的 IP 地址。如果 IP 地址字符串来源于用户而不是硬编码进程序中的话,那 么就确实有失败的可能性,这时确实需要我们以一种更健壮的方式处理 Result。提及这个 IP 地址是硬编码的假设会促使我们将来把 深入了解泛型的语法之前,我们首先来看一种没有使用泛型的减少冗余的方法,即提取一个函 数。在这个函数中,我们用一个可以代表多种值的占位符来替换具体的值。接着我们使用相同 的技术来提取一个泛型函数!通过学习如何识别并提取可以整合进一个函数的重复代码,你也 会开始识别出可以使用泛型的重复代码。 让我们从下面这个寻找列表中最大值的小程序开始,如示例 10-1 所示: 文件名:src/main.rs fn main() { let0 码力 | 562 页 | 3.23 MB | 11 天前3
共 1 条
- 1