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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/shenjianping/p/15531173.html