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
塊之外的其它位置。