GO语言学习(7)循环语句

目录

前言

1.基本for循环

2.用for循环模拟while

3.嵌套循环 

4.for-range循环

5.循环控制语句

5.1 break与continue

5.2 goto语句

6.无限循环


前言

        Go语言中的循环语句主要有for循环,没有像其他语言中的whiledo-while循环。for循环在Go语言中非常灵活,可以用于实现各种循环需求。本文将主要介绍for循环的基本用法。

1.基本for循环

        最基本的for循环结构,如下:

for 初始化语句; 条件表达式; 后置语句 {
    // 循环体
}
  • 初始化语句:在循环开始前执行,通常用于初始化循环变量。

  • 条件表达式:在每次循环迭代前进行判断,如果为true,则执行循环体;如果为false,则退出循环。

  • 后置语句:在每次循环迭代后执行,通常用于更新循环变量。

GO语言学习(7)循环语句_第1张图片

示例:

for i := 0; i < 10; i++ {
    fmt.Println(i)
}

        在这个例子中,i从0开始,每次循环后i增加1,直到i不再小于10时循环结束。

2.用for循环模拟while

        Go语言中没有专门的while关键字,但可以使用for循环来实现类似的功能。只需要省略初始化语句和后置语句,只保留条件表达式。

i := 0
for i < 10 {
    fmt.Println(i)
    i++
}

        在这个例子中,for循环的行为类似于while循环,只要i < 10true,循环就会继续执行。

3.嵌套循环 

        Go语言支持嵌套循环,即在一个循环体内再嵌套另一个循环。

for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        fmt.Printf("i: %d, j: %d\n", i, j)
    }
}

        在这个例子中,外层循环和内层循环分别控制变量ij,输出它们的值。

4.for-range循环

        for-range循环用于遍历数组、切片、字符串、映射或通道。for-range循环的语法如下:

for 索引, 值 := range 集合 {
    // 循环体
}
  • 索引:当前元素的索引(对于数组、切片、字符串)或键(对于映射)。

  • :当前元素的值。

 示例:

nums := []int{1, 2, 3, 4, 5}
for index, value := range nums {
    fmt.Printf("索引: %d, 值: %d\n", index, value)
}

        在这个例子中,for-range循环遍历了nums切片,并输出了每个元素的索引和值。

        如果不需要索引或值,可以使用下划线_来忽略它们:

for _, value := range nums {
    fmt.Println(value)
}

5.循环控制语句

控制语句 描述
break 语句 用于中断当前 for 循环或跳出 switch 语句
continue 语句 跳过当前循环的剩余语句,然后继续进行下一轮循环。
goto语句 将控制转移到被标记的语句。

5.1 break与continue

for i := 0; i < 10; i++ {
    if i == 5 {
        break // 当i等于5时,跳出循环
    }
    if i%2 == 0 {
        continue // 当i为偶数时,跳过本次循环
    }
    fmt.Println(i)
}

        在这个例子中,break语句在i等于5时终止循环,而continue语句在i为偶数时跳过当前循环迭代。

5.2 goto语句

        虽然 goto 语句在现代编程语言中不推荐使用,因为它可能导致代码难以理解和维护,但 Go 语言仍然提供了 goto 语句。它可以跳转到同一函数内的某个标签处。基本语法如下:

goto Label
...
Label:
    // 跳转到这里

示例:

package main
import "fmt"

func main() {
    i := 0
    Loop:
        fmt.Println(i)
        i++
        if i < 5 {
            goto Loop
        }
}

        上述例子,最终会输出数字1~5.

6.无限循环

        如果省略for循环中的所有条件,就会创建一个无限循环。无限循环会一直执行,直到在循环体内使用break语句跳出循环。

for {
    fmt.Println("无限循环")
    // 使用break跳出循环
    break
}

        在这个例子中,for循环没有条件表达式,因此会无限循环下去,直到遇到break语句。

你可能感兴趣的:(GO语言,学习,golang,开发语言)