rust函数 stuct struct方法 关联函数

这篇具有很好参考价值的文章主要介绍了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
}

运行如下:
rust函数 stuct struct方法 关联函数,rust开发教程,rust,开发语言,函数,struct,关联函数,struct方法

代码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方法 关联函数,rust开发教程,rust,开发语言,函数,struct,关联函数,struct方法文章来源地址https://www.toymoban.com/news/detail-826027.html


到了这里,关于rust函数 stuct struct方法 关联函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【社区投稿】给Rust的Struct自动实现trait

    我们通常使用 这样的方式给struct自动实现相应的trait,从而让struct具备某些特性,但是如果我们想让编译器给struct自动实现自己定义的trait要怎么办? 首先我们需要有一个trait,假设如下面的定义: 我们定义这个trait给struct赋予一个行为是逐行打印struct的所有Field。当然如果是

    2024年02月20日
    浏览(31)
  • 【Rust】Rust学习 第十三章Rust 中的函数式语言功能:迭代器与闭包

    Rust 的设计灵感来源于很多现存的语言和技术。其中一个显著的影响就是  函数式编程 ( functional programming )。函数式编程风格通常包含将函数作为参数值或其他函数的返回值、将函数赋值给变量以供之后执行等等。 更具体的,我们将要涉及: 闭包 ( Closures ),一个可以储

    2024年02月12日
    浏览(53)
  • Rust编程语言入门之函数式语言特性:-迭代器和闭包

    闭包(closures) 迭代器(iterators) 优化改善 12 章的实例项目 讨论闭包和迭代器的运行时性能 闭包:可以捕获其所在环境的匿名函数。 闭包: 是匿名函数 保存为变量、作为参数 可在一个地方创建闭包,然后在另一个上下文中调用闭包来完成运算 可从其定义的作用域捕获值

    2023年04月08日
    浏览(46)
  • Rust语言中级教程之指针

    指针是计算机引用无法立即直接访问的数据的一种方式(类比 书的目录) 数据在物理内存(RAM)中是分散的存储着 地址空间是检索系统 指针就被编码为内存地址,使用 usize 类型的整数表示。 一个地址就会指向地址空间中的某个地方 地址空间的范围是 OS 和 CPU 提供的外观界

    2024年02月02日
    浏览(34)
  • 【跟小嘉学 Rust 编程】十三、函数式语言特性:迭代器和闭包

    【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学 Rust 编程】六、枚举

    2024年02月11日
    浏览(60)
  • Rust软件外包开发语言的特点

    Rust 是一种系统级编程语言,强调性能、安全性和并发性的编程语言,适用于广泛的应用领域,特别是那些需要高度可靠性和高性能的场景。下面和大家分享 Rust 语言的一些主要特点以及适用的场合,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公

    2024年02月12日
    浏览(51)
  • Rust语言从入门到入坑——(2)Rust在windows上搭建开发环境

    开始搭建一个适合在windows上运行的Rust环境。 Rust支持的程序语言很多:可详见官网介绍 本文章主要是在windowns下搭建开发环境 首先,需要安装最新版的 Rust 编译工具和 Visual Studio Code。 Rust 编译工具:https://www.rust-lang.org/zh-CN/tools/install Visual Studio Code:https://code.visualstudio.com

    2024年02月09日
    浏览(52)
  • 【Rust】Rust学习 第五章使用结构体组织相关联的数据

    定义结构体,需要使用  struct  并为整个结构体提供一个名字。结构体的名字需要描述它所组合的数据的意义。接着,在大括号中,定义每一部分数据的名字和类型,我们称为  字段 ( field )。 实例化(不可变变量) 可变变量 字段初始化简写语法 通过已经存着的变

    2024年02月13日
    浏览(48)
  • go 语言(九)----struct

    定义一个结构体 结构体使用 结构体传参

    2024年01月20日
    浏览(40)
  • 【C语言】struct结构体

    具有相同或不同类型元素的集合叫做结构体。定义一个结构体,本质是在制作一个类型: 在C中,结构体内只能存放各种类型的变量,不能存函数: 像上面这样就是声明了一个结构体 struct Student ,此时的 struct Student 相当于一个类型名。 然后我们可以用这个自己声明的结构体

    2024年02月03日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包