頭條地址:https://www.ixigua.com/i676544267458235648...
B站地址:https://www.bilibili.com/video/av78062009?...
網易雲課堂地址:https://study.163.com/course/introduction....
1、rust中的方法類似於c++中類的成員函式。
2、方法例子
#[derive(Debug)]
struct Dog {
name: String,
weight: f32,
height: f32,
}
impl Dog { //下面為實現方法
fn get_name(&self) -> &str{
&(self.name[..])
}
fn get_weight(&self) -> f32 {
self.weight
}
fn get_height(&self) -> f32 {
self.height
}
}
fn main() {
let dog = Dog{name: String::from("jack"), weight:20.5, height: 60.0};
println!("name = {}", dog.get_name().to_string());
println!("weight = {}", dog.get_weight());
println!("height = {}", dog.get_height());
println!("Hello, world!");
}
3、可以有多個impl塊
上面的程式碼
impl Dog { //下面為實現方法
fn get_name(&self) -> &str{
&(self.name[..])
}
fn get_weight(&self) -> f32 {
self.weight
}
fn get_height(&self) -> f32 {
self.height
}
}
還可以寫為多個impl塊,如下:
impl Dog { //下面為實現方法
fn get_name(&self) -> &str{
&(self.name[..])
}
}
impl Dog { //下面為實現方法
fn get_weight(&self) -> f32 {
self.weight
}
}
impl Dog { //下面為實現方法
fn get_height(&self) -> f32 {
self.height
}
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結