Rust 程序设计语言 简体中文版 1.85.0
为了理解何时会需要使用结构体,让我们编写一个计算长方形面积的程序。我们会从单独的变 量开始,接着重构程序直到使用结构体替代它们为止。 使用 Cargo 新建一个叫做 rectangles 的二进制程序,它获取以像素为单位的长方形的宽度和 高度,并计算出长方形的面积。示例 5-8 显示了位于项目的 src/main.rs 中的小程序,它刚刚 好实现此功能: 文件名:src/main.rs fn main() { let area(width: u32, height: u32) -> u32 { 函数 area 本应该计算一个长方形的面积,不过函数却有两个参数。这两个参数是相关联的, 不过程序本身却没有表现出这一点。将长度和宽度组合在一起将更易懂也更易处理。第三章的 “元组类型” 部分已经讨论过了一种可行的方法:元组。 使用元组重构 示例 5-9 展示了使用元组的另一个程序版本。 文件名:src/main.rs 103/562Rust measured; 0 filtered out; finished in 0.00s 两个测试通过了!现在让我们看看如果引入一个 bug 的话测试结果会发生什么。将 can_hold 方法中比较宽度时本应使用大于号的地方改成小于号: // --snip-- impl Rectangle { fn can_hold(&self, other: &Rectangle) -> bool {0 码力 | 562 页 | 3.23 MB | 9 天前3
共 1 条
- 1