學習Rust 條件語句
在 Rust 語言中的條件語句使這種格式的:
例項
fn main() { let number = 3; if number < 5 { println!("條件為 true"); } else { println!("條件為 false"); } }
在上述程式中有條件 if 語句,這個語法在很多其它語言中很常見,但也有一些區別:首先,條件表示式 number < 5 不需要用小括號包括(注意,不需要不是不允許);但是 Rust 中的 if 不存在單語句不用加 {} 的規則,不允許使用一個語句代替一個塊。儘管如此,Rust 還是支援傳統 else-if 語法的: 例項
fn main() { let a = 12; let b; if a > 0 { b = 1; } else if a < 0 { b = -1; } else { b = 0; } println!("b is {}", b); }
執行結果:
b 為 1
Rust 中的條件表示式必須是 bool 型別,例如下面的程式是錯誤的:
fn main() { let number = 3; if number { // 報錯,expected `bool`, found integerrustc(E0308) println!("Yes"); } }
雖然 C/C++ 語言中的條件表示式用整數表示,非 0 即真,但這個規則在很多注重程式碼安全性的語言中是被禁止的。
結合之前章學習的函式體表示式我們加以聯想:
if{ block 1 } else { block 2 }
這種語法中的 { block 1 } 和 { block 2 } 可不可以是函式體表示式呢?
答案是肯定的!也就是說,在 Rust 中我們可以使用 if-else 結構實現類似於三元條件運算表示式 (A ? B : C) 的效果:
例項
fn main() { let a = 3; let number = if a > 0 { 1 } else { -1 }; println!("number 為 {}", number); }
執行結果:
number 為 1
注意:兩個函式體表示式的型別必須一樣!且必須有一個 else 及其後的表示式塊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2739312/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python學習筆記3(條件語句+迴圈語句)Python筆記
- Go 條件語句 - Go 學習記錄Go
- 條件語句
- rust學習四、控制語句Rust
- GO 條件語句Go
- javaScript條件語句JavaScript
- 04.條件語句
- Go:條件控制語句Go
- Python if else條件語句Python
- Python-條件語句和迴圈語句Python
- Swift 條件語句講解Swift
- python-條件控制(if語句)Python
- 條件判斷語句 if case
- oracle中的條件語句Oracle
- PL/SQL 條件控制語句SQL
- Python if else條件語句詳解Python
- Python 入門 :基本條件語句Python
- Python條件語句與迴圈Python
- Java 數學運算與條件語句全解析Java
- Python:條件分支 if 語句全講解Python
- php中條件語句的使用整理PHP
- shell程式設計之條件語句程式設計
- 7.Makefile中的條件語句
- SqlServer中迴圈和條件語句SQLServer
- C 語言教程:條件和 if...else 語句
- 鴻蒙開發TypeScript語言:【條件語句】鴻蒙TypeScript
- AWK if(條件)語句與迴圈簡介
- Go的條件判斷語句的使用Go
- 深入理解mongodb查詢條件語句MongoDB
- 02 shell程式設計之條件語句程式設計
- 「譯」寫好JavaScript條件語句的5條守則JavaScript
- Rust 條件編譯Rust編譯
- 『忘了再學』Shell流程控制 — 33、if條件判斷語句(一)
- 『忘了再學』Shell流程控制 — 35、多分支case條件語句
- 『忘了再學』Shell流程控制 — 34、if條件判斷語句(二)
- 【Golang 基礎系列十】Go 語言 條件語句之ifGolang
- makefile--if條件判斷語句的語法與使用
- MySQL條件判斷IF,CASE,IFNULL語句詳解MySqlNull