目录
1、结构体的简单应用
应用程序主要用到了rust的结构体、枚举以及函数和match关键字;示例基于计算长方形的面积展开的,分为长方形创建,计算长方形面积,判断面积值是否合理等功能,下面我们就来看看代码实现。
2、结构体测试程序
首先我们来看看长方形结构体的定义,具体定义如下图所示:
struct Rect {
width: i32, //宽
height: i32, //高
}
枚举类型主要是来表示长方形面积是否合理,主要有三种情况,面积大于0,面积计算正确,面积小于0,面积计算有误,面积等于0,面积计算异常; 在看看枚举类型是如何定义的:
enum Result {
OK,
ERROR,
ABNORMAL,
}
使用impl关键字,为结构体Rect绑定一些方法,这些方法主要是用来初始化Rect实例,计算面积,判断面积是否合法的!下面看一下这些方法的定义与实现:
impl Rect {
fn area(&self) -> i32 {
self.width * self.height
}
fn new(width: i32, height: i32) -> Rect {
Rect { width, height }
}
fn istrue(&self) -> Result {
let s = self.area();
if s > 0 {
Result::OK
} else if s < 0 {
Result::ERROR
} else {
Result::ABNORMAL
}
}
}
最后我们在主函数中实现示例的测试逻辑代码部分,按照先初始化Rect实例,计算面积,判断面积是否合理的顺序进行编写;具体的逻辑代码如下所示:
fn main() {
let rect = Rect::new(0, 3);
let c = rect.area();
let ret = rect.istrue();
println!("c value is {}", c);
match ret {
Result::OK => {
println!("area caculate is ok");
}
Result::ERROR => {
println!("area caculate is error");
}
Result::ABNORMAL => {
println!("area caculate is abnormal");
}
}
}
3、测试结果
测试结果基本都是正确的,菜哥的测试部分结果如下所示:

4、总结
rust的结构体还是比较好学的,主要是为struct绑定一些方法,这些就有点类似于在c里面为结构体绑定一些函数指针啦!好啦!文中若是有说的不对的地方,欢迎大家在评论区留言,博主是一个又菜又爱玩的人!
本文介绍了如何在Rust中使用结构体、枚举和函数实现长方形面积计算,并通过测试验证其正确性。涉及结构体定义、方法绑定及错误处理。

2002

被折叠的 条评论
为什么被折叠?



