Rust结构体方法语法

广告位

方法类似于函数,因为它们在start和then函数名称中包含fn关键字。 方法还包含参数和返回值。 但是,当在…

方法类似于函数,因为它们在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块之外的其它位置。

  

拾荒的老头

关于作者: 拾荒的老头

为您推荐