Rust之结构体(二):结构体示例

开发环境

  • Windows 10
  • Rust 1.57.0

 

   VS Code 1.63.2

 项目工程

这里继续沿用上次工程rust-demo

结构体示例

为了理解什么时候可能需要使用结构体,让我们编写一个程序来计算矩形的面积。我们将从单变量开始,然后重构程序,直到使用结构代替。

让我们用`cargo`创建一个名为`rectangles`的新的程序,它将以像素为单位指定矩形的宽度和高度,并计算矩形的面积。代码如下

fn main() {
    let width1 = 30;            // 宽度
    let height1 = 50;           // 高度

    println!(
        "The area of the rectangle is {} square pixels.",
        area(width1, height1)
    );
}

// 计算面积的接口
fn area(width: u32, height: u32) -> u32 {
    width * height
}

运行

cargo run

 尽管上述示例中可以通过调用每个维度的area函数计算出矩形的面积,但我们可以做得更好。宽度和高度是相互关联的,因为它们一起描述了一个矩形。

这个代码的问题在area的签名中很明显:

fn area(width: u32, height: u32) -> u32 {
  

面积函数area是用来计算一个矩形的面积的,但是我们写的这个函数有两个参数。这些参数是相关的,但在我们的程序中没有表示。将宽度和高度组合在一起将更易于阅读和管理。我们可以使用Tuple类型来重构上述代码。

使用Tuple重构

可以查看下述代码:

fn main() {
    let rect1 = (30, 50);           // 使用Tuple类型

    println!(
        "The area of the rectangle is {} square pixels.&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值