跳到主要内容

Go语言的while循环

提示
  1. Go 中的 while 循环:Go 语言没有专门的 while 关键字,但可以通过 for 循环实现 while 循环的功能,通过在 for 循环中仅指定条件来重复执行代码块。
  2. while 循环的工作原理:在 for 循环中,如果条件为 true,则循环体内的语句被执行,然后条件再次评估;如果条件为 false,循环结束。
  3. 模拟 do...while 循环:虽然 Go 语言不直接支持 do...while 循环,但可以使用无限的 for 循环配合 if 语句和 break 关键字来模拟 do...while 循环的行为。

在 Go 语言中,我们使用 while 循环 来执行一段代码直到满足某个条件。

不同于其他编程语言,Go 没有专门的关键字来表示 while 循环。然而,我们可以使用 for 循环来实现 while 循环的功能。

Go while 循环的语法

for 条件 {
// 代码块
}

这里,循环会评估 条件。如果条件为:

  • true - 循环内的语句被执行,然后再次评估 条件
  • false - 循环终止

Go 中 while 循环的流程图

while 循环重复执行代码块,直到条件变为假。

示例:Go while 循环

// 程序打印 1 到 5 之间的数字

package main
import ("fmt")

func main() {
number := 1

for number <= 5 {
fmt.Println(number)
number++
}
}

输出

1
2
3
4
5

这里,我们将 number 初始化为 1

  1. 在第一次迭代中,条件 number <= 5true。因此,屏幕上打印了 1。现在,number 的值增加到 2
  2. 再次测试条件 number <= 5 为真。因此,屏幕上也打印了 2,并且 number 的值增加到 3
  3. 这个过程持续到 number 变为 6。然后,条件 number <= 5 将为 false,循环终止。

使用 while 循环创建乘法表

// 程序使用 while 循环创建 5 的乘法表

package main
import ("fmt")

func main() {
multiplier := 1

// 运行 while 循环 10 次
for multiplier <= 10 {

// 计算乘积
product := 5 * multiplier

// 以格式 5 * 1 = 5 打印乘法表
fmt.Printf("5 * %d = %d\n", multiplier, product)
multiplier++
}

}

输出

5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50

这里,我们将 multiplier := 1 初始化。在每次迭代中,multiplier 的值增加 1,直到 multiplier <= 10

Go do...while 循环

在 Go 中,我们可以使用相同的 for 循环来提供 do while 循环 的功能。例如,

// 程序从 1 打印到 5

package main
import "fmt"

func main(){
number := 1

// 无限运行的循环
for {

// 终止循环的条件
if number > 5 {
break;
}

fmt.Printf("%d\n", number);
number ++

}
}

输出

1
2
3
4
5

注意 for 循环内的 if 语句。

if number > 5 {
break;
}

这个语句充当 do...while 循环 中的 while 子句,并用于终止循环。