官术网_书友最值得收藏!

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  }
主站蜘蛛池模板: 双江| 廉江市| 新和县| 巴青县| 潢川县| 江北区| 高清| 云霄县| 安阳县| 和硕县| 马公市| 平谷区| 嘉善县| 南召县| 开封县| 禹城市| 通榆县| 新巴尔虎左旗| 淳化县| 昌宁县| 方山县| 日土县| 双流县| 怀宁县| 金华市| 色达县| 大安市| 巴塘县| 东港市| 搜索| 安阳县| 怀安县| 昭平县| 东乌| 额尔古纳市| 云安县| 抚顺县| 小金县| 天气| 瑞昌市| 蓝田县|