当前位置: 首页 > 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());
}

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


相关文章:

rust函数 stuct struct方法 关联函数

本文结合2个代码实例主要介绍了rust函数定义方法,struct结构体定义、struct方法及关联函数等相关基础知识。 代码1: main.rc #[derive(Debug)]//定义一个结构体 struct Ellipse {max_semi_axis: u32,min_semi_axis: u32, }fn main() {//椭圆&#xff0…...

浅谈基于中台模式的大数据生态体系的理解

这篇文章主要浅谈一下我对大数据生态体系建设的理解。 大数据生态系统为高并发,高吞吐,高峰值,高堆积等大规模数据的采集,处理,计算,存储,服务提供了完善的处理体系,致力于打造核心数…...

MySQL的锁机制

一:概述 锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢); 在数据库中,除传统的计算资源(如CPU,RAM,I/O等)的争用以外,数据也是一种供许多用…...

已解决ImportError: cannot import name ‘PILLOW_VERSION‘异常的正确解决方法,亲测有效!!!

已解决ImportError: cannot import name PILLOW_VERSION异常的正确解决方法,亲测有效!!! 文章目录 问题分析 报错原因 解决思路 解决方法 总结 在Python项目开发中,依赖管理是保证项目正常运行的关键环节。然而&…...

力扣:300. 最长递增子序列

动态规划: 1. 先定义dp数组来表示在下标为i时最长递增子序列,先初始化一下每个下标的值为dp【i】1。同时我们要判断在下标i之前的最长的递增子序列为多少,在判断当前的下标i是否满足递增的条件满足的话就进行dp【i】的重新赋值。之后要更新接受的最长递…...

Swing程序设计(10)列表框,文本框,文本域,密码框

文章目录 前言一、列表框二、文本框(域) 1.文本框2.文本域三、密码框总结 前言 该篇文章简单介绍了Java中Swing组件里的列表框、文本框、密码框。 一、列表框 列表框(JList)相比下拉框,自身只是在窗体上占据固定的大小…...

【Java八股面试系列】JVM-常见参数设置

目录 堆内存相关 显式指定堆内存–Xms和-Xmx 显式新生代内存(Young Generation) 显式指定永久代/元空间的大小 垃圾收集相关 垃圾回收器 GC 日志记录 处理 OOM JDK监控和故障处理工具总结 堆内存相关 Java 虚拟机所管理的内存中最大的一块,Java 堆是所有线…...

【Python--Web应用框架大比较】

🚀 作者 :“码上有前” 🚀 文章简介 :Python 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 Django Django太重了,除了web框架,自带ORM和模板引擎,灵活和自由度不…...

Effective Objective-C 学习第三周

理解引用计数 Objective-C 使用引用计数来管理内存:每个对象都有个可以递增或递减的计数器。如果想使某个对象继续存活,那就递增其引用计数:用完了之后,就递减其计数。计数变为 0时,就可以把它销毁。 在ARC中&#xf…...

人工智能学习与实训笔记(四):神经网络之NLP基础—词向量

人工智能专栏文章汇总:人工智能学习专栏文章汇总-CSDN博客 本篇目录 四、自然语言处理 4.1 词向量 (Word Embedding) 4.1.1 词向量的生成过程 4.1.2 word2vec介绍 4.1.3 word2vec:skip-gram算法的实现 4.2 句向量 - 情感分析 4.2.1 LSTM (Long S…...

【教程】Kotlin语言学习笔记(一)——认识Kotlin(持续更新)

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【Kotlin语言学习】系列文章 第一章 《认识Kotlin》 文章目录 【Kotlin语言学习】系列文章一、Kotlin介绍二、学习路径 一、…...

MySQL性能分析1

1、查看执行频次 查看当前数据库的INSERT,UPDATE,DELETE,SELECT的访问频次,得到当前数据库是以插入,更新和删除为主还是以查询为主,如果是以插入,更新和删除为主的话,那么优化比重可以轻一点儿。 语法: …...

四、案例 - Oracle数据迁移至MySQL

Oracle数据迁移至MySQL 一、生成测试数据表和数据1.在Oracle创建数据表和数据2.在MySQL创建数据表 二、生成模板文件1.模板文件内容2.模板文件参数详解2.1 全局设置2.2 数据读取(Reader)2.3 数据写入(Writer)2.4 性能设置 三、案例…...

ABC340 A-F题解

文章目录 A题目AC Code: B题目AC Code: C题目AC Code: D题目AC Code: E题目思路做法时间复杂度AC Code: F题目思路AC Code: A 题目 模拟即可,会循环都能写。 AC Code: #include …...

微软 CMU - Tag-LLM:将通用大语言模型改用于专业领域

文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 论文地址:https://arxiv.org/abs/2402.05140 Github 地址:https://github.com/sjunhongshen/Tag-LLM 大语言模型&#xff08…...

Kafka集群安装与部署

集群规划 准备工作 安装 安装包下载:链接:https://pan.baidu.com/s/1BtSiaf1ptLKdJiA36CyxJg?pwd6666 Kafka安装与配置 1、上传并解压安装包 tar -zxvf kafka_2.12-3.3.1.tgz -C /opt/moudle/2、修改解压后的文件名称 mv kafka_2.12-3.3.1/ kafka…...

C++初阶(十一) list

一、list的介绍及使用 1.1 list的介绍 list的文档介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点…...

图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化

图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化 卷积神经网络的一些基本概念:图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化 1.图像卷积、步长、填充 图像卷积:卷积核矩阵在一个原始图像矩阵上 “从上往下、…...

CMake进行C/C++与汇编混合编程

1. 前提 这篇文章记录一下怎么用CMake进行项目管理, 并用C/C和汇编进行混合编程, 为了使用这项技术, 必须在VS的环境中安装好cmake组件 由于大部分人不会使用C/C与汇编进行混合编程的情况。所以这篇文章并不适用于绝大部分人不会对其中具体细节进行过多叙述。只是做一些简单的…...

缓存预热!真香

预热一般指缓存预热,一般用在高并发系统中,为了提升系统在高并发情况下的稳定性的一种手段。 缓存预热是指在系统启动之前或系统达到高峰期之前,通过预先将常用数据加载到缓存中,以提高缓存命中率和系统性能的过程。缓存预热的目…...

深度解析Synology Photos面部识别补丁:从技术原理到实战部署完整指南

深度解析Synology Photos面部识别补丁:从技术原理到实战部署完整指南 【免费下载链接】Synology_Photos_Face_Patch Synology Photos Facial Recognition Patch 项目地址: https://gitcode.com/gh_mirrors/sy/Synology_Photos_Face_Patch Synology Photos Fa…...

Agent-S实战指南:突破性智能体框架如何实现72.6%人类级计算机交互性能

Agent-S实战指南:突破性智能体框架如何实现72.6%人类级计算机交互性能 【免费下载链接】Agent-S Agent S: an open agentic framework that uses computers like a human 项目地址: https://gitcode.com/GitHub_Trending/ag/Agent-S 在人工智能与计算机交互的…...

颠覆式突破限制:五大核心技术实现网盘下载加速革命

颠覆式突破限制:五大核心技术实现网盘下载加速革命 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广&#xf…...

【项目实战】ESP8266 WiFi模块从零接入物联网 - 硬件连接、固件烧录与云端通信

1. ESP8266 WiFi模块入门指南 第一次拿到ESP8266这个小玩意儿时,我完全没想到它能在物联网领域掀起这么大风浪。这个比硬币大不了多少的模块,内置了完整的WiFi功能,价格还不到一杯奶茶钱。记得去年帮学弟调试毕业设计时,我们用ESP…...

毕业设计实战:基于SSM的学生宿舍设备报修管理系统设计与实现全攻略

毕业设计实战:基于SSM的学生宿舍设备报修管理系统设计与实现全攻略 在开发“学生宿舍设备报修管理系统”这套毕设时,我曾因“故障上报与维修派单流程脱节”踩过一个关键坑。初期设计时,我将“学生报修”和“维修人员接单”视为两个独立的模块…...

Fun-Rec:从零到一构建推荐系统的完整学习路径

Fun-Rec:从零到一构建推荐系统的完整学习路径 【免费下载链接】fun-rec 推荐系统入门教程,在线阅读地址:https://datawhalechina.github.io/fun-rec/ 项目地址: https://gitcode.com/datawhalechina/fun-rec 当推荐系统成为互联网产品…...

AIGlasses_for_navigation 开发环境快速配置:Anaconda虚拟环境指南

AIGlasses_for_navigation 开发环境快速配置:Anaconda虚拟环境指南 你是不是也遇到过这种情况:好不容易在本地跑通了一个项目,换台电脑或者更新了几个库,结果就报了一堆莫名其妙的错误。或者,你想同时维护两个需要不同…...

OpenClaw任务监控方案:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF长链条任务管理技巧

OpenClaw任务监控方案:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF长链条任务管理技巧 1. 为什么需要长链条任务监控 去年冬天,当我第一次用OpenClaw执行一个包含12个步骤的自动化流程时,系统在凌晨3点卡在了第7步——模型因为To…...

FireRedASR Pro避坑指南:模型加载报错的快速解决方法

FireRedASR Pro避坑指南:模型加载报错的快速解决方法 1. 常见模型加载问题概述 当你第一次尝试运行FireRedASR Pro时,可能会遇到各种模型加载报错。这些错误通常集中在三个关键环节: 权重文件加载失败:PyTorch版本不兼容导致的…...

机械设计制造及自动化—万门大学月特训班 (清华老师讲授) 1、机械制图 2、机械制造 3、机械原理 4、机械设计

机械设计制造及自动化—万门大学月特训班 (清华老师讲授) 1、机械制图 2、机械制造 3、机械原理 4、机械设计 全580集,直接从零基础到机械设计与自动化行业大佬 在这里插入图片描述...