rust学习笔记(5)

函数

定义为 fn is_divisible_by(lhs: u32, rhs: u32) -> bool {

使用 -> 指向返回的类型

  • 函数定义的位置没有限制

method

针对结构体可以实现对应的方法

struct Point {
    x: i32,
    y: i32,
}

impl Point {
    fn Add(&mut self, other: &Point) {
        self.x += other.x;
        self.y += other.y;
    }
}

如果需要修改自己,需要设置类型为&mut self

  • 需要使用&借用实例,不然,即使是自己的示例,也会出现被消耗掉的情况

闭包

就是匿名函数,因为在rust中可以使用函数式编程,所以,可以用来创建一个函数对象

|val| val + x

||内部的是接受的变量,比如|i: i32| -> i32 { i + 1 }
后面的是返回的结果,针对多行,需要使用{}包裹

捕获

在代码块的内部定义的闭包函数可以访问代码块的变量内容,访问的方式是自动推断,并且有先后的优先级

优先级别为:不可变引用>可变引用>值本身

posted @ 2025-02-09 23:45  xuhe2  阅读(1)  评论(0编辑  收藏  举报