当前位置: 首页 > news >正文

rust函数 stuct struct方法 关联函数

本文结合2个代码实例主要介绍了rust函数定义方法,struct结构体定义、struct方法及关联函数等相关基础知识。

代码1:
main.rc

#[derive(Debug)]//定义一个结构体
struct Ellipse {max_semi_axis: u32,min_semi_axis: u32,
}fn main() {//椭圆,结构体实例化let ell = Ellipse {max_semi_axis: 10,min_semi_axis: 8,};println!("{:#?}", ell);println!("椭圆的长半轴={},椭圆的短半轴={},椭圆的面积={}",ell.max_semi_axis,ell.min_semi_axis,area(&ell));
}//计算椭圆的面积
fn area(ell:&Ellipse) -> f64 {3.14 * ell.max_semi_axis as f64 * ell.min_semi_axis as f64
}

运行如下:
在这里插入图片描述

代码2:
main.rc

#[derive(Debug)]//定义一个结构体
struct Ellipse {max_semi_axis: u32,min_semi_axis: u32,
}//struct方法
impl Ellipse {//计算椭圆的面积fn area(&self) -> f64 {3.14 * self.max_semi_axis as f64 * self.min_semi_axis as f64}//关联函数fn round(size: u32) -> Ellipse {Ellipse {max_semi_axis: size,min_semi_axis: size,}}
}fn main() {//椭圆,结构体实例化let ell = Ellipse {max_semi_axis: 10,min_semi_axis: 8,};println!("{:#?}", ell);println!("椭圆的长半轴={},椭圆的短半轴={},椭圆的面积={}",ell.max_semi_axis,ell.min_semi_axis,ell.area());println!("-----------------------------------------");//圆,结构体实例化let r = Ellipse::round(15);println!("{:#?}", r);println!("圆的长半轴={},圆的短半轴={},圆的面积={}",r.max_semi_axis,r.min_semi_axis,r.area());
}

运行结果如下:
在这里插入图片描述


http://www.lryc.cn/news/301259.html

相关文章:

  • 浅谈基于中台模式的大数据生态体系的理解
  • MySQL的锁机制
  • 已解决ImportError: cannot import name ‘PILLOW_VERSION‘异常的正确解决方法,亲测有效!!!
  • 力扣:300. 最长递增子序列
  • Swing程序设计(10)列表框,文本框,文本域,密码框
  • 【Java八股面试系列】JVM-常见参数设置
  • 【Python--Web应用框架大比较】
  • Effective Objective-C 学习第三周
  • 人工智能学习与实训笔记(四):神经网络之NLP基础—词向量
  • 【教程】Kotlin语言学习笔记(一)——认识Kotlin(持续更新)
  • MySQL性能分析1
  • 四、案例 - Oracle数据迁移至MySQL
  • ABC340 A-F题解
  • 微软 CMU - Tag-LLM:将通用大语言模型改用于专业领域
  • Kafka集群安装与部署
  • C++初阶(十一) list
  • 图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化
  • CMake进行C/C++与汇编混合编程
  • 缓存预热!真香
  • VS中设置#define _CRT_SECURE_NO_WARNINGS的原因和设置方式
  • 【网站项目】155在线考试与学习交流网页平台
  • 解决IDEA的Project无法正常显示的问题
  • CDF和PDF的比较
  • 编译基本过程 预处理器
  • 模拟算法.
  • ClickHouse--10--临时表、视图、向表中导入导出数据
  • Python一些可能用的到的函数系列124 GlobalFunc
  • python中线程/线程池,进程/进程池的创建
  • 【c++】vector的增删查改
  • 【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——JAVA