Rust 程序设计语言 简体中文版 1.85.0= {s2}"); 这段代码能正常运行,并且明确产生图 4-3 中行为,这里堆上的数据确实被复制了。 当出现 clone 调用时,你知道一些特定的代码被执行而且这些代码可能相当消耗资源。你很容 易察觉到一些不寻常的事情正在发生。 只在栈上的数据:拷贝 这里还有一个没有提到的细节。这些代码使用了整型并且是有效的,它们是示例 4-2 中的一部 分: let x = 5; let 5 来提取变量 s 的第一个 单词,不过这是有 bug 的,因为在我们将 5 保存到 word 之后 s 的内容已经改变。 我们不得不时刻担心 word 的索引与 s 中的数据不再同步,这既繁琐又易出错!如果编写这么 一个 second_word 函数的话,管理索引这件事将更加容易出问题。它的签名看起来像这样: fn second_word(s: &String) -> (usize, usize) height: 50, } 107/562Rust 程序设计语言 简体中文版 我们可以看到第一点输出来自 src/main.rs 第 10 行,我们正在调试表达式 30 * scale,其结 果值是 60(为整数实现的 Debug 格式化是只打印它们的值)。在 src/main.rs 第 14 行 的 dbg! 调用输出 &rect1 的值,即 Rectangle 结构。这个输出使用了更为易读的0 码力 | 562 页 | 3.23 MB | 27 天前3
共 1 条
- 1













