📜  Rust结构方法语法

📅  最后修改于: 2021-01-08 13:41:01             🧑  作者: Mango

方法语法

方法与函数相似,因为它们的开头包含fn关键字,然后包含函数名称。方法还包含参数和返回值。但是,当在struct上下文中声明该方法时,该方法的语法与常规函数有所不同。此类方法的第一个参数始终是self ,它表示在其上函数的实例。

定义方法

让我们在结构上下文中声明该方法时定义该方法。

 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
}
}

第一个参数是签名中以及身体内各处的自我。

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

 square.area();

其中正方形是实例,而area()是函数名。

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

方法语法的优点:

使用方法语法而不是函数的主要优点是,与实例相关的所有数据都放置在impl块内,而不是放在我们提供的不同位置。