break
本文最后更新于202 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

break

结束当前循环

没加break:

package main

import(
    "fmt"
)

func main()  {
    for i := 1;i <=9 ;i ++{
        fmt.Println("i的值是:",i)
    } 
}

结果:

添加一个break,使for循环在输出5后停止

package main

import(
    "fmt"
)

func main()  {
    for i := 1;i <=9 ;i ++{
        fmt.Println("i的值是:",i)
        if i == 5 {
            break //在i=5的时结束循环,不再输出5后面的值
        }
    } 
}

输出结果:

break的作用范围

双重循环没加break时

package main

import (
    "fmt"
)

func main(){
    for i := 1;i <= 6 ; i ++{
        for j := 1;j <= 3; j ++{
            fmt.Printf("i的值是%v,j的值是%v\n",i,j)
        }
        fmt.Println()
    }
}

结果:

双重循环内添加一个break循环观察结果判断break作用范围

package main

import (
    "fmt"
)

func main(){
    for i := 1;i <= 6 ; i ++{
        for j := 1;j <= 3; j ++{
            fmt.Printf("i的值是%v,j的值是%v\n",i,j)
            if i==2 && j==2{//当i=2并且j=2时结束循环
                break
            } 
        }
        fmt.Println()
    }
}

运行结果:

从输出结果可以看出当触发break结束的时内部的for循环

所以break结束的是离他最近的循环

通过加标签的方式可以结束指定for循环

package main

import (
    "fmt"
)

func main(){
    table://给外层for循环添加一个标签
    for i := 1;i <= 6 ; i ++{
        for j := 1;j <= 3; j ++{
            fmt.Printf("i的值是%v,j的值是%v\n",i,j)
            if i==2 && j==2{//当i=2并且j=2时结束循环
                break table //结束标签标记的外层循环
            } 
        }
        fmt.Println()
    }
}

结果:

文末附加内容
上一篇
下一篇