Rust教學
Rust下載和安裝
Rust簡介
Rust Hello World
Rust的特點
Rust註釋
Rust開發環境安裝
Rust文檔
Rust第一個程序
Rust格式化打印
Rust調試
Rust顯示
測試用例:列表
Rust格式化
Rust原語
Rust常量和運算符
Rust元組
Rust數組和切片
Rust自定義類型
Rust結構
Rust可視性
Rust枚舉
Rust常量
Rust變量綁定
Rust變量綁定-可變性
Rust變量綁定-範圍和陰影
Rust變量綁定-聲明
Rust類型轉換
Rust類型轉換 - 字面量
Rust類型轉換-推導
Rust類型轉換 - 別名
Rust表達式
Rust if/else語句
Rust循環
Rust嵌套和標籤
Rust while循環
Rust for和範圍
Rust匹配/match
Rust匹配析構元組
Rust解構枚舉
Rust指針和引用
Rust解構結構
Rust Guards
Rust綁定
Rust if let
Rust while let
Rust函數
Rust方法
Rust閉包
Rust捕捉
Rust作爲輸入參數
Rust匿名類型
Rust輸入函數
Rust作爲輸出參數
Rust結構體方法語法
方法類似於函數,因爲它們在start和then函數名稱中包含fn關鍵字。 方法還包含參數和返回值。 但是,當在struct上下文中聲明方法時,方法語法與正常函數不同。這些方法的第一個參數始終是self,它表示調用函數的實例。
定義方法
在struct上下文中聲明方法時定義方法。
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
}
}
第一個參數是簽名中的self,可在主體內的任何位置。
在這裏,使用方法語法來調用area()函數。 方法語法是一個實例,後跟點運算符,方法名稱,參數和任何參數。
square.area();
square是實例,area()是函數名稱。
注意:如果想要更改調用該方法的實例,那麼使用
&mut self而不是&self作爲第一個參數。
方法語法的優點:
使用方法語法而不是函數的主要優點是,與實例相關的所有數據都放在impl塊中,而不是放在impl塊之外的其它位置。