Golang-for、break、continue、goto、return


for 循環的流程圖

  

 

 

 for 循環的使用注意事項和細節討論

  1)循環條件是返回一個布爾值的表達式
  2)for 循環的第二種使用方式

  for 循環判斷條件 {
    //循環執行語句
  }
  將變量初始化和變量迭代寫到其它位置

  

 

 

   3)for 循環的第三種使用方式

    for {
      //循環執行語句
    }
    上面的寫法等價 for ; ; {} 是一個無限循環, 通常需要配合 break 語句使用

  

  4)Golang 提供 for-range 的方式,可以方便遍歷字符串和數組(注: 數組的遍歷,我們放到講數組的時候再講解) ,案例說明如何遍歷字符串。
    字符串遍歷方式 1-傳統方式

    

    字符串遍歷方式 2-for - range

      

 

 

    上面代碼的細節討論

    如果我們的字符串含有中文,那么傳統的遍歷字符串方式,就是錯誤,會出現亂碼。原因是傳統的對字符串的遍歷是按照字節來遍歷,而一個漢字在 utf8 編碼是對應 3 個字節。
    如何解決 需要要將 str 轉成 []rune 切片.=> 體驗一把

    

 

 

     對應 for-range 遍歷方式而言,是按照字符方式遍歷。因此如果有字符串有中文,也是 ok

    

 

 

   for 循環的課堂練習

    1)打印 1~100 之間所有是 9 的倍數的整數的個數及總和

     

 

 

     2)完成下面的表達式輸出 ,6 是可變的。

        

 

 

 

while 和 do..while 的實現
  Go 語言沒有 while 和 do...while 語法,這一點需要同學們注意一下,如果我們需要使用類似其它語言(比如 java / c 的 while 和 do...while ),可以通過 for 循環來實現其使用效果。

  while 循環的實現

  

  說明上圖
   1)for 循環是一個無限循環
   2)break 語句就是跳出 for 循環

  使用上面的 while 實現完成輸出 10 句”hello,wrold”

  

 

 

   do..while 的實現

  

 

 

   對上圖的說明

    1)上面的循環是先執行,在判斷,因此至少執行一次。
    2)當循環條件成立后,就會執行 break, break 就是跳出 for 循環,結束循環.

  使用上面的 do...while 實現完成輸出 10 句”hello,ok”

  

 

 

 

 多重循環控制(重點,難點)

  基本介紹
    1)將一個循環放在另一個循環體內,就形成了嵌套循環。在外邊的 for 稱為外層循環在里面的 for循環稱為內層循環。【建議一般使用兩層,最多不要超過 3 層】
    2)實質上,嵌套循環就是把內層循環當成外層循環的循環體。當只有內層循環的循環條件為 false時,才會完全跳出內層循環,才可結束外層的當次循環,開始下一次的循環。
    3)外層循環次數為 m 次,內層為 n 次,則內層循環體實際上需要執行 m*n 次

  應用案例
    1)統計 3 個班成績情況,每個班有 5 名同學,求出各個班的平均分和所有班級的平均分[學生的成績從鍵盤輸入]
      (1)先易后難, 即將一個復雜的問題分解成簡單的問題。
      (2)先死后活

        

 

 

     2)統計三個班及格人數,每個班有 5 名同學對上面的代碼進行了一點修改.

        

 

 

     3)打印金字塔經典案例

      使用 for 循環完成下面的案例請編寫一個程序,可以接收一個整數,表示層數,打印出金字

          

 

 

       4)打印出九九乘法表

        

      

 

跳轉控制語句-break
  看一個具體需求,引出break
  隨機生成 1-100 的一個數,直到生成了 99 這個數,看看你一共用了幾次?
  分析:編寫一個無限循環的控制,然后不停的隨機生成數,當生成了 99 時,就退出這個無限循環==》break 提示使用
  這里我們給大家說一下,如下隨機生成 1-100 整數.

  

 

 

   break 的快速入門案例

  

 

 

   基本介紹:

    break 語句用於終止某個語句塊的執行,用於中斷當前 for 循環或跳出 switch 語句。

  基本語法:
    { ……
      break
      ……
    }
  以for 循環使用break 為例,畫出示意圖

  

 

 

   break 的注意事項和使用細節

  1)break 語句出現在多層嵌套的語句塊中時,可以通過標簽指明要終止的是哪一層語句塊
  2)看一個案例

  

  3)對上面案例的說明
   (1)break 默認會跳出最近的 for 循環
   (2)break 后面可以指定標簽,跳出標簽對應的 for 循環

  課堂練習

  1) 100 以內的數求和,求出 當和 第一次大於 20 的當前數

  

  2) 實現登錄驗證,有三次機會,如果用戶名為”張無忌”  ,密碼”888”提示登錄成功,否則提示還有幾次機會.

  

 

 

 

跳轉控制語句-continue

  基本介紹:

  continue 語句用於結束本次循環,繼續執行下一次循環。
  continue 語句出現在多層嵌套的循環語句體中時,可以通過標簽指明要跳過的是哪一層循環 , 這個和前面的 break 標簽的使用的規則一樣. 

  基本語法:
  { ……
    continue
    ……
  }

  continue 流程圖

  

  案例分析continue 的使用

  

 

 

   continu 的課堂練習

  

 

 

   continue 實現 打印 1——100 之內的奇數[要求使用 for 循環+continue] 代碼:

  

 

 

   從鍵盤讀入個數不確定的整數,並判斷讀入的正數和負數的個數,輸入為 0 時結束程序

  

 

 

 跳轉控制語句-goto

  goto 基本介紹
    1)Go 語言的 goto 語句可以無條件地轉移到程序中指定的行。
    2)goto 語句通常與條件語句配合使用。可用來實現條件轉移,跳出循環體等功能。
    3)在 Go 程序設計中一般不主張使用 goto 語句, 以免造成程序流程的混亂,使理解和調試程序都產生困難
  goto 基本語法
    goto label
    .. .
    label: statement
  goto 的流程圖

    

 

 

   快速入門案例

    

 

  

 

跳轉控制語句-return

  介紹:

  return 使用在方法或者函數中,表示跳出所在的方法或函數,在講解函數的時候,會詳細的介紹

   

  說明
   1)如果 return 是在普通的函數,則表示跳出該函數,即不再執行函數中 return 后面代碼,也可以理解成終止函數。
   2)如果 return 是在 main 函數,表示終止 main 函數,也就是說終止程序。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM