Rust 函数
Rust 函数
方法是一类特殊的函数,函数可以成为独立的方法,而方法是在结构上下文上被定义的,语法基本一致,不同之处就是方法的第一个参数必须是 调用方法结构的引用(&self)。方法的调用需要通过结构对象进行调用。
需要通过 impl 关键字去实现一个结构,并在 {} 内进行方法声明。可以多次使用 impl。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct Rectangle {
width: u32,
height: u32,
}
impl Rectangle {
fn area(&self) -> u32 {
self.width * self.height
}
}
let rect = Rectangle {
width: 120,
height: 40,
}
println!("{}", rect.area()); // 4800
关联函数
关联函数并不算结构的方法,但是关联依然是在 impl 结构块里面实现,只是函数首个参数不再是 &self,并且调用方式也不是用 .,而是使用 :: 来进行调用,有点类似其他的静态方法。
1
2
3
4
5
6
7
8
9
impl Rectangle {
fn square(size: u32) -> Rectangle {
Rectangle {
width: size,
height: size,
}
}
}
let rect = Rectangle::square(100);
This post is licensed under
CC BY 4.0
by the author.