• 七、 循环


    循环

    1、for 循环

    1. for condition{}
      代码示例
    package main
     
    import "fmt"
     
    func main() {
        //1.for condition语句
        sum := 0
        for i := 1; i <= 10; i++ {
            sum += i
        }
        fmt.Println(sum) //累加1~10
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    查看运行结果
    在这里插入图片描述

    1. for init{}
      代码示例
    package main
     
    import "fmt"
     
    func main() {
        Strings := []string{"google", "golang"}
        for m, n := range Strings {
            fmt.Println(m, n)
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    查看运行结果
    在这里插入图片描述

    2、循环嵌套

    代码示例

    package main
     
    import "fmt"
     
    func main() { 
        //2.循环嵌套:找到1-30内的素数
        var i, j int
        for i = 2; i < 30; i++ {
            for j = 2; j <= i/j; j++ {
                if i%j == 0 {
                break
                }
            }
            if j > (i / j) {
                fmt.Println(i, "是一个素数")
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    查看运行结果
    在这里插入图片描述

    3、break语句

    Go 语言中 break 语句用于以下两方面:

    1. 用于循环语句中跳出循环,并开始执行循环之后的语句。
      代码示例
    package main
    import "fmt"
    fun main() {
        //3.1 break跳出循环
        var a int = 10
        for a < 20 {
            fmt.Println("a的值:", a)
            a++
            if a == 15 {
            break
                }
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    查看运行结果
    在这里插入图片描述

    1. break 在 switch(开关语句)中在执行一条 case 后跳出语句的作用。(此break会隐藏)
    2. 在多重循环中,可以用标号 label 标出想 break 的循环。
      代码示例
    package main
     
    import "fmt"
     
    func main() {
        //3.2 break label标出想break的循环
        // 不使用标记
        fmt.Println("---- break ----")
        for i := 1; i <= 3; i++ {
            fmt.Printf("i: %d\n", i)
            for i2 := 11; i2 <= 13; i2++ {
                fmt.Printf("i2: %d\n", i2)
                break
            }
        }
    
        // 使用标记
        fmt.Println("---- break label ----")
    re:
        for i := 1; i <= 3; i++ {
            fmt.Printf("i: %d\n", i)
            for i2 := 11; i2 <= 13; i2++ {
                fmt.Printf("i2: %d\n", i2)
                break re
            }
        }
     
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    查看运行结果
    在这里插入图片描述

    4、continue语句

    Go 语言的 continue 语句 有点像 break 语句。但是 continue 不是跳出循环,而是跳过当前循环执行下一次循环语句。

    1. for 循环中,执行 continue 语句会触发 for 增量语句的执行。
      代码示例
    package main
     
    import "fmt"
     
    func main() { 
        //4.1 continue语句,不是跳出循环,而是跳过当前循环执行下一次循环语句
        a := 10
        for a < 20 {
            a++
            if a == 15 {
                continue
            }
            fmt.Println("a的值为:", a)
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    查看运行结果
    在这里插入图片描述

    1. 在多重循环中,可以用标号 label 标出想 continue 的循环。
      代码示例
    package main
     
    import "fmt"
     
    func main() {
        //4.2 使用continue+label标出想 continue 的循环
        // 不使用标记
        fmt.Println("---- continue ---- ")
        for i := 1; i <= 3; i++ {
            fmt.Printf("i: %d\n", i)
            for i2 := 11; i2 <= 13; i2++ {
                fmt.Printf("i2: %d\n", i2)
                continue
            }
        }
    
        // 使用标记
        fmt.Println("---- continue label ----")
    re:
        for i := 1; i <= 3; i++ {
            fmt.Printf("i: %d\n", i)
            for i2 := 11; i2 <= 13; i2++ {
                fmt.Printf("i2: %d\n", i2)
                continue re
            }
        }
     
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    查看运行结果
    在这里插入图片描述

    5、goto语句

    Go 语言的 goto 语句可以无条件地转移到过程中指定的行。
    goto 语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

    代码示例

    package main
     
    import "fmt"
     
    func main() {
        //5.goto语句可以无条件地转移到过程中指定的行
        /* 定义局部变量 */
        var a int = 10
    
        /* 循环 */
    LOOP:
        for a < 20 {
            if a == 15 {
                /* 跳过迭代 */
                a = a + 1
                goto LOOP
            }
            fmt.Printf("a的值为 : %d\n", a)
            a++
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    查看运行结果
    在这里插入图片描述

  • 相关阅读:
    m基于NSGAII优化算法的微网系统的多目标优化规划matlab仿真
    Python小试牛刀:GUI(图形界面)实现计算器UI界面(三)
    Python编程 列表的操作(2)
    回到数字化之前、回到ERP之前
    考研二战失败找工作心路历程
    糖尿病患者也会低血糖?
    代码随想录 Day49 单调栈01 LeetCode LeetCodeT739每日温度 T496 下一个最大元素I
    Newsmy储能电源与您相约九州汽车生态博览
    录制第一个jmeter性能测试脚本2(http协议)
    java生成验证码返回前端图片,后端通过redis存储和校验
  • 原文地址:https://blog.csdn.net/qq_34158880/article/details/127811023