方法与函数相似, 因为方法的开头包含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作为第一个参数。方法语法的优点:
【Rust结构方法语法】使用方法语法而不是函数的主要优点是, 与实例相关的所有数据都放置在impl块内, 而不是放在我们提供的不同位置。
推荐阅读
- 什么是Rust Enum(基本介绍和用法)
- 什么是结构(Rust结构用法)
- Rust什么是切片(详细用法————)
- Rust引用和借入用法详解
- Rust while循环语句用法解释
- Rust 循环语句用法解释
- Rust if语句介绍和用法图解
- Rust安装步骤详细图解
- Rust let中的if语句用法