Rust 专题
您的位置:rust > Rust专题 > Rust结构体方法语法
Rust结构体方法语法
作者:--    发布时间:2019-11-20 10:52:00

方法类似于函数,因为它们在startthen函数名称中包含fn关键字。 方法还包含参数和返回值。 但是,当在struct上下文中声明方法时,方法语法与正常函数不同。这些方法的第一个参数始终是self,它表示调用函数的实例。

定义方法

struct上下文中声明方法时定义方法。

struct square  
{  
    a : u32,  
}  
impl square  
{  
    fn area(&self)->u32  
    {  
        self.a * self.a  
    }  
}  

fn main()  
{  
    let square = square{a:10};  
    print!("area of square is {}", square.area());  
}

执行上面示例代码,得到以下结果 -

area of square is 100

当在struct上下文中声明方法时,定义实现块内的方法,即impl块。

impl square  
{  
    fn area(&self)->u32  
    {  
        self.a * self.a  
    }  
}

第一个参数是签名中的self,可在主体内的任何位置。

在这里,使用方法语法来调用area()函数。 方法语法是一个实例,后跟点运算符,方法名称,参数和任何参数。

square.area();

square是实例,area()是函数名称。

注意:如果想要更改调用该方法的实例,那么使用&mut self而不是&self作为第一个参数。

方法语法的优点:

使用方法语法而不是函数的主要优点是,与实例相关的所有数据都放在impl块中,而不是放在impl块之外的其它位置。


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册