<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      Fork me on GitHub

      rust學習(六)控制流

      學習完了函數,接下來學習控制流。rust的控制流包括if、else-if、else。循環語句包括loop、while、for等

      老樣子,我們利用caogo新建一個項目

      • cargo new branches
      • cd branches

      if

      如果我們學習過其他編程語言,if的判斷條件可以是bool類型,也可以是一個邏輯表達式。但在rust中if后面只能跟bool值,rust不會將非布爾值轉換為布爾值。

      fn main(){
          // if表達式
          let x: u8 = 15;
          if x < 18 {
              println!("The legal of age is 18!");
          }
      }
      
      

      else-if else

      如果我們對某一個值有有限個判斷條件,我們可以通過else-if判斷其他條件,并通過給出一個else來對當前面其他判斷條件都不滿足時,給出其他處理邏輯。

      fn main(){
          // if else-if else
          let number = 6;
          if number % 4 == 0 {
              println!("number is divisible by 4");
          } else if number % 3 == 0 {
              println!("number is divisible by 3");
          } else if number % 2 == 0 {
              println!("number is divisible by 2");
          } else {
              println!("number is not divisible by 4, 3, or 2");
          }
      }
      
      

      我們還可以將if與let結合使用,因為if是一個表達式,所以我們可以在let的右邊使用它。
      此外if的每個分支的可能返回值都必須是相同類型,這是rust規定的~~~

      fn main(){
          // let與if搭配使用
          // if 的每個分支的可能的返回值都必須是相同類型
          let condition = true;
          let num = if condition { 5 } else { 6 };
          println!("The value of num is: {}", num);
      }
      

      循環

      如果我們想要某一段代碼根據我們的約定執行多少次,我們就需要依靠循環這個工具來實現。
      在其他編程語言當中,如果我們想要編寫一個死循環,通常使用while(1) while(true)等等形式。在rust當中如果可以借助loop關鍵字來實現。

      // 這段代碼會一直執行,直到我們手動終止
      loop{
      
      }
      

      和其他語言類似,如果我們想要從loop中獲得返回值我們可以通過breakcontinue關鍵字來幫助我們完成此需求。
      不同的是break會跳出當前循環;而continue會跳過當前循環,執行下一次循環(嵌套循環時會用到)。
      示例代碼:

          // loop循環
          let mut count: u8 = 0;
          let result: u8 = loop {
              count += 1;
              if count == 10 {
                  break count * 2; // 使用break關鍵字跳出循環
              }
          };
          println!("The result is {}", result); // 20
      

      多層循環嵌套時,我們可能需要通過一個標簽名來幫助我們跳出循環。
      rust的循環標簽名定義形式我覺得很怪異。。。。hh
      定義形式:'label_name:loop{} 跳出時通過break 'label_name

          // 循環嵌套,通過循環標簽消除多個循環間的歧義
          let mut cc_count: u8 = 0;
          // 指定一個 循環標簽
          'counting_up: loop {
              println!("cc_count = {cc_count}");
              let mut remaining: u8 = 10;
              loop {
                  println!("remaining = {remaining}");
                  if remaining == 9 {
                      break;
                  }
                  if cc_count == 2 {
                      break 'counting_up; // 通過指定標簽名跳出最外層循環
                  }
                  remaining -= 1;
              }
              cc_count += 1;
          }
          println!("End cc_count = {cc_count}");
      

      while

      while循環很方便,我們經常會使用到它。當滿足某個條件時,while循環會一直執行下去,直到不滿足該條件才會調用break退出循環。有時while循環的代碼和使用for循環編寫的代碼類似,我們常根據實際情況使用某種形式。
      語法:while bool {// execute something}
      示例代碼:

          // while循環
          // 當條件為true,執行循環;當條件為false,調用break中止循環
          let mut dd_count: u8 = 5;
          while dd_count != 0{
              println!("dd_count = {dd_count}");
              dd_count-=1;
          }
          println!("dd_count is LIFTOFF!!!");
      
      

      for

      for循環是我們最常用的循環形式之一,它在每個編程語言當中都非常常見。
      rust中通過for in的方式來實現循環遍歷。for循環還包括迭代器,后續學到時再做闡述...

      示例代碼:

          // for in循環
          // 通過for循環遍歷輸出數組元素
          let arr_data:[u8;5] = [1, 2, 3, 4, 5];
          for item in arr_data{
              print!("{} ", item);
          }
          println!();
      
          // 利用for循環實現倒計時
          for range_i in (1..10).rev() {
              println!("{range_i}!");
          }
          println!("LIFTOFF!!!");
      

      這里只是簡要說明了loop、while、for的簡單使用,如果想要更多例子可以參考rust官方的例子或者上網搜索更多....

      官網例子:https://doc.rust-lang.org/rust-by-example/flow_control/for.html

      posted @ 2025-11-05 17:32  Hui_Li  閱讀(10)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产成人精品无缓存在线播放| 亚洲精品自拍在线视频| 涩涩爱狼人亚洲一区在线| 丝袜人妻一区二区三区网站| 无码日韩做暖暖大全免费不卡| 激情在线网| 久久精品国产亚洲av久| 最新精品国偷自产在线| 少妇被粗大的猛烈进出视频| 国产精品无遮挡又爽又黄| 人妻少妇精品视频专区| 国产午夜精品理论大片| 高清自拍亚洲精品二区| 欧美日韩国产综合草草| 一区二区亚洲人妻精品| 一色屋精品视频在线观看| 亚洲av成人无码精品电影在线| 乱码视频午夜在线观看| 亚洲精品美女一区二区| 国产一区二区在线观看粉嫩| 日本一道一区二区视频| 好男人官网资源在线观看| 激情综合网激情综合网五月| 亚洲精品沙发午睡系列| 欧美巨大极度另类| 富民县| 纯肉高h啪动漫| 久久综合香蕉国产蜜臀av| 国产女高清在线看免费观看| 国产一区二区三区禁18| AV在线亚洲欧洲日产一区二区| 国产69精品久久久久久妇女迅雷| 亚洲小说乱欧美另类| 日韩高清视频 一区二区| 久久久久国精品产熟女久色| 精品尤物国产尤物在线看| h动态图男女啪啪27报gif| 国产av午夜精品福利| 久久精品娱乐亚洲领先| 亚洲深深色噜噜狠狠网站| 国产午夜福利不卡在线观看|