1. 程式人生 > 其它 >Rust中struct的function與method

Rust中struct的function與method

1個示例就能看明白:

//類似java裡的pojo類
struct Pet{
    name:String,
    age:i8, //最後1個,不能省略
}

impl Pet{
    //定義函式(類似java裡的static方法)
    fn to_string(pet:&Pet)->String{
        format!("name:{},age:{}",pet.name,pet.age)
    }

    //定義方法(類似java裡的例項方法)
    fn to_str(&self)->String{
        format!("name:{},age:{}",self.name,self.age) 
    }
}

fn main() {
    let dog = Pet{
        name:String::from("dog"),
        age:1
    };
    //呼叫Pet裡的function
    println!("{}",Pet::to_string(&dog));
    //呼叫Pet例項doc上的method
    println!("{}",dog.to_str());
}

輸出:

name:dog,age:1
name:dog,age:1

作者:菩提樹下的楊過
出處:http://yjmyzz.cnblogs.com
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。