GO语言语法---For循环、break、continue


Go语言中的for循环是唯一的循环结构,但可以通过不同形式实现各种循环需求。以下是Go中for循环的主要用法:

1. 基本for循环(类似其他语言的while)

go语言中没有while和do while操作,只能用基本for循环来代替while和do while。
基本语法:

for condition {
    // 循环体
}

示例代码:
以下for循环的执行顺序:
1、先判断i <= 3
2、执行大括号中的内容。
一直循环到判断条件不满足才退出。

i := 1
for i <= 3 {
    fmt.Println(i)
    i = i + 1
}

2. 经典for循环(初始化;条件;后续操作)

基本语法:

for initialization; condition; post {
    // 循环体
}

示例代码:
以下for循环的执行顺序:
1、先执行j := 7(这里可以不是定义,也可以是赋值,也可以省略)
2、进行condition判断,为true则进入第3步,false则退出for循环。
3、执行大括号中的内容。
4、执行post。
一直执行2、3、4直到2中判断为false。

for j := 7; j <= 9; j++ {
    fmt.Println(j)
}

3. 无限循环

基本语法:

for {
    // 无限循环体
    // 通常配合break使用
}

示例代码:
这个就相当于C语言中的while(1)语句。

for {
    fmt.Println("loop")
    break
}

4. 使用break和continue

1、break:跳出本层循环
2、continue:跳过本次循环
示例代码:
1、代码执行到break则直接退出这一层for循环,因为这里只有一层for循环,所以直接退出for循环。
2、代码执行到continue则直接进入循环,这里当n = 2的时候进入continue,则跳出本次循环,继续执行n++,再进行n <= 5判断,进入下一次循环。

for n := 0; n <= 5; n++ {
    if n%2 == 0 {
        continue
    }
    fmt.Println(n)
    if n > 3 {
        break
    }
}

5 . 带标签的循环(可用于break/continue指定循环)

1、break带标签

代码如下:
下面这段代码的输出结果:
0 0
0 1
0 2
1 1
当i = 1,j = 1的时候,跳出到标签处,跳出那一层循环,因此直接退出for循环。

outer:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        if i == 1 && j == 1 {
            break outer  // 跳出外层循环
        }
        fmt.Println(i, j)
    }
}

2、continue带标签

代码如下:
下面这段代码的输出结果:
0 0
0 1
0 2
1 0
2 0
2 1
2 2
当i = 1,j = 1的时候,跳出到标签处,跳出那一次循环,因此直接最外层i = 1的时候不继续往下执行。

outer:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        if i == 1 && j == 1 {
            continue outer  // 跳出外层循环
        }
        fmt.Println(i, j)
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值