1. 程式人生 > 其它 >Go語言之多重迴圈控制

Go語言之多重迴圈控制

一、基本介紹

  • 將一個迴圈放入到另一個迴圈內,講究形成了巢狀迴圈。外邊的迴圈被稱為外層迴圈,裡面的迴圈被稱為內層迴圈;實際上巢狀迴圈的迴圈體就是記憶體迴圈
  • 外層迴圈次數m次,記憶體迴圈n次,則記憶體迴圈體需要執行m*n次

二、例項

1、列印九九乘法表

package main

import "fmt"

func main() {
    // 列印九九乘法表

    for i:=1; i < 10; i++ {
        for j:=1; j <= i; j++ {
            fmt.Printf("%d*%d=%d\t",j,i,i*j)
        }
        fmt.Println()
    }


}

效果:

1*1=1
1*2=2   2*2=4
1*3=3   2*3=6   3*3=9
1*4=4   2*4=8   3*4=12  4*4=16
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

2、列印金字塔

package main

import "fmt"

func main() {
        
    var totalLevel int = 20
    
    // i表示層數
    for i := 1; i <= totalLevel; i++ {
        // 列印前先列印空格
        for k := 1; k <= totalLevel - i; k++ {
            fmt.Print(" ")
        }
        // j 表示每層列印多少*
        for j := 1; j <= 2 * i - 1; j++ {
            
if j == 1 || j == 2 * i -1 || i == totalLevel { fmt.Print("*") } else { fmt.Print(" ") } } fmt.Println() } }

效果:

                   *
                  * *
                 *   *
                *     *
               *       *
              *         *
             *           *
            *             *
           *               *
          *                 *        
         *                   *       
        *                     *      
       *                       *     
      *                         *    
     *                           *   
    *                             *  
   *                               * 
  *                                 *
 *                                   *
***************************************
作者:iveBoy 出處:http://www.cnblogs.com/shenjianping/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須在文章頁面給出原文連線,否則保留追究法律責任的權利。