- Rust編程:入門、實戰與進階
- 朱春雷
- 896字
- 2021-04-30 12:37:25
3.1 條件判斷
條件判斷由條件表達式構成,用于實現滿足指定條件執行某個功能的程序邏輯。Rust中有3種條件判斷,具體如下。
1)if:滿足指定條件,執行某個功能。
2)if-else:滿足指定條件執行某個功能,不滿足指定條件執行另一個功能。
3)if-else if-else:用于多個條件分支執行對應功能的程序邏輯。
3.1.1 if條件判斷
if條件判斷模擬“如果……就……”的邏輯,其核心是值為true或false的表達式,語法如下所示。如果conditional_test為true,執行大括號中的代碼。如果conditional_test為false,忽略大括號中的代碼,并繼續執行大括號后的第一條語句。需要注意的是,Rust并不會自動將非布爾值轉換為布爾值,因此必須顯式地使用布爾值作為表達式的值,否則會導致程序錯誤。
1 if conditional_test { 2 // conditional_test為true時執行代碼 3 ... 4 }
設一個表示某人年齡的變量age,如果其年齡大于18歲,就打印“You are an adult”。使用if條件判斷來實現該處理邏輯,代碼如下所示。
1 if age > 18 { 2 println!("You are an adult."); 3 }
3.1.2 if-else條件判斷
if-else條件判斷模擬“如果……就……否則……”的邏輯,實現表達式的值為true時執行一個操作,為false時執行另一個操作的邏輯,語法如下所示。
1 if conditional_test { 2 // conditional_test為true時執行代碼 3 ... 4 } else { 5 // conditional_test為false時執行代碼 6 ... 7 }
設一個表示某人年齡的變量age,如果其年齡大于18歲,就打印“You are an adult”,否則就打印“You are not an adult”。使用if-else條件判斷來實現該處理邏輯,代碼如下所示。
1 if age > 18 { 2 println!("You are an adult."); 3 } else { 4 println!("You are not an adult."); 5 }
3.1.3 if-else if-else條件判斷
在實際項目開發中,如果需要檢查超過兩個以上的條件,可以使用if-else if-else條件判斷,語法如下所示。程序會依次檢查每個條件表達式,直至遇到表達式的值為true時執行緊跟在該條件表達式之后的大括號中的代碼,并跳過余下的條件檢查,即程序只會執行其中的一個代碼塊。
1 if conditional_test_1 { 2 // conditional_test_1為true時執行代碼 3 } else if conditional_test_2 { 4 // conditional_test_2為true時執行代碼 5 } else { 6 // conditional_test_1和conditional_test_2都為false時執行代碼 7 }
下面代碼中有7條可能的執行路徑,程序會按順序依次檢查每個條件表達式,并執行第一個表達式的值為true的代碼塊。如果某人年齡為15歲,打印“You are a teenager”。
1 if age < 1 { 2 println!("You are a baby."); 3 } else if age < 3 { 4 println!("You are a toddler."); 5 } else if age < 5 { 6 println!("You are a preschooler."); 7 } else if age < 10 { 8 println!("You are a schoolchild."); 9 } else if age < 12 { 10 println!("You are a preteen."); 11 } else if age < 18 { 12 println!("You are a teenager."); 13 } else { 14 println!("You are an adult."); 15 }
- Dynamics 365 for Finance and Operations Development Cookbook(Fourth Edition)
- 兩周自制腳本語言
- PostgreSQL Cookbook
- Ext JS Data-driven Application Design
- 區塊鏈:以太坊DApp開發實戰
- QGIS:Becoming a GIS Power User
- C#程序設計
- JavaCAPS基礎、應用與案例
- Linux Shell核心編程指南
- OpenGL Data Visualization Cookbook
- Internet of Things with ESP8266
- Clojure for Machine Learning
- ExtJS Web應用程序開發指南第2版
- Principles of Strategic Data Science
- Qt 5.12實戰