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作爲輸出參數
匹配運算符
匹配運算符允許將值與一系列模式進行比較,並在找到匹配項時執行代碼。 模式可以是文字值,變量名稱,通配符和許多其他內容。
下面通過一個簡單的例子來理解匹配運算符:
enum Computerlanguage
{
C,
Cplus,
Java,
Csharp,
}
fn language(language:Computerlanguage)
{
match language
{
Computerlanguage::C=> println!("C language"),
Computerlanguage::Cplus=> println!("C++ language"),
Computerlanguage::Java=> println!("Java language"),
Computerlanguage::Csharp=> println!("C# language"),
}
}
fn main()
{
language(Computerlanguage::C);
language(Computerlanguage::Cplus);
language(Computerlanguage::Java);
language(Computerlanguage::Csharp);
}
執行上面示例代碼,得到以下結果 -
C language
C++ language
Java language
C# language
在上面的示例中,Computerlanguage
是一種自定義數據類型,由四種變體組成:C
,Cplus
,Java
,Csharp
。 匹配運算符將語言的值與匹配運算符塊中給出的表達式匹配。
與選項T匹配
當想要在某些情況下獲得T
的內部值時,使用選項<T>
。
選項 <T>
包含兩個變體:
- None:表示失敗或缺少值。
- 一些(值):它是一個用T包裝值的元組結構。
通過下面一個例子來理解:
fn main()
{
even_number(2);
even_number(3);
}
fn even_number(n:i32)
{
let num=n;
match checked_even(n)
{
None=>println!("None"),
Some(n)=>
{
if n==0
{
println!("{} is a even number",num);
}
else
{
println!("{} is a odd number",num);
}},
}
}
fn checked_even(number:i32)->Option<i32>
{
Some(number%2)
}
執行上面示例代碼,得到以下結果 -
2 is a even number
3 is a odd number
匹配詳盡
在Rust中,匹配是詳盡的,即,應該儘可能地使代碼有效。假設忘記編寫None
情況,那麼Rust編譯器將顯示「模式 None 未覆蓋」的錯誤。
通過下面一個例子來理解:
fn main()
{
Some(5);
}
fn Value(n:Option<i32>)
{
match n
{
Some(n)=>println!("{}is a Number",n),
}
}
編譯輸出結果如下 -