跳到主要内容

Go语言的for循环

提示
  1. 循环基本概念:在 Go 编程中,for 循环用于重复执行代码块,直到指定的条件得到满足。它通过初始化、条件判断、更新变量的方式控制循环。
  2. for 循环的工作原理for 循环首先执行初始化语句,然后判断条件是否为 true。如果条件为 true,执行循环体,然后更新变量,再次检查条件。如果条件为 false,循环结束。
  3. for 循环的额外用法:Go 语言支持 range 关键字结合 for 循环遍历数组或切片。此外,for 循环也可以用作 while 循环,或创建无限循环。在循环中,可以使用空白标识符 _ 忽略不需要的迭代变量。

在编程中,循环用于重复执行一段代码。例如,

如果我们想打印一条语句100次,而不是写100次相同的打印语句,我们可以使用循环来执行同一段代码100次。

这只是一个简单的例子;我们使用 for 循环来清理和简化复杂的程序。

Golang for 循环

在 Golang 中,我们使用 for 循环来重复执行一段代码,直到满足指定条件为止。

这是 Golang 中 for 循环的语法。

for 初始化; 条件; 更新 {
语句
}

这里,

  1. 初始化 初始化和/或声明变量,只执行一次。
  2. 然后,对条件进行评估。如果条件为 true,则执行 for 循环的主体。
  3. 更新 更新初始化的值。
  4. 再次对条件进行评估。过程持续到条件为 false
  5. 如果条件false,for 循环结束。

for 循环的工作原理

Golang 编程中 for 循环的工作原理

示例 1:Golang for 循环

// 程序用于打印前 5 个自然数

package main
import "fmt"

func main() {

// 当 i 变成 6 时 for 循环终止
for i := 1; i <= 5; i++ {
fmt.Println(i)
}

}

输出

1
2
3
4
5

下面是这个程序的工作原理。

迭代次数变量条件:i操作
第1次i = 1true打印 1。i 增加到 2
第2次i = 2true打印 2。i 增加到 3
第3次i = 3true打印 3。i 增加到 4
第4次i = 4true打印 4。i 增加到 5
第5次i = 5true打印 5。i 增加到 6
第6次i = 6false循环终止。

示例 2:Golang for 循环

// 程序用于打印自然数 1 + 2 + 3 + ... +n 的和

package main
import "fmt"

func main() {
var n, sum = 10, 0

for i := 1 ; i <= n; i++ {
sum += i // sum = sum + i
}

fmt.Println("sum =", sum)
}

输出

sum = 55

这里,我们使用了 for 循环从 i 等于 1 到 10 进行迭代。

在循环的每次迭代中,我们将 i 的值加到 sum 变量上。

相关 Golang for 循环主题

Golang for 循环的范围形式

在 Go 中,我们可以使用 for 循环和 range 迭代数组。例如,

package main
import "fmt"

func main() {

// 创建一个数组
numbers := [5] int {11, 22, 33, 44, 55}

// 使用 range 的 for 循环
for item := range numbers {
fmt.Println(numbers[item])
}

}

输出

11
22
33
44
55

这里,我们使用了 range 来迭代 5 次(数组的大小)。

在第一次迭代中,项目的值为 11,第二次迭代中为 22,以此类推。

想了解更多关于数组的信息,请访问 Golang 数组

使用 Golang 的 for 循环作为 while 循环

在 Golang 中,for 循环也可以像其他语言中的 while 循环一样使用。例如,

for condition {
statement(s)
}

这里,for 循环只包含测试条件。循环会一直执行,直到条件为 true。当条件变为 false 时,循环终止。

什么是无限循环?

永远不会终止的循环被称为无限循环。

如果循环的测试条件永远不为 true,那么循环会永远继续。例如,

// 程序无限迭代循环

package main
import "fmt"

func main() {

for i := 0; i <= 10; i-- {
fmt.Println("Welcome to Programiz")
}

}

这里,条件 i <= 10 永远不会评估为 false,导致无限循环。

输出

Welcome to Programiz
Welcome to Programiz
Welcome to Programiz

如果我们想故意创建一个无限循环,Golang 为此提供了相对简单的语法。我们来看看上面的同一个例子。

// 程序无限迭代循环

package main
import "fmt"

func main() {

// for 循环没有初始化/条件/更新
// 无限循环
for {
fmt.Println("Welcome to Programiz")
}

}

Golang for 循环中的空白标识符。

在 Golang 中,我们必须使用在 for 循环体内声明的每个变量。如果未使用,它会抛出错误。我们使用空白标识符 _ 来避免这个错误。

让我们通过以下情景来理解它。

 numbers := [5] int {11, 22, 33, 44, 55}

// 索引变量被声明但未使用
for index, item := range numbers {
// 抛出错误
fmt.Println(item)
}

}

这里,我们得到错误消息 index declared but not used

为了避免这种情况,我们在第一个位置放置 _,以表示我们不需要数组的第一个组成部分(索引)。让我们用空白标识符来纠正上面的例子。

// 程序打印数组元素

package main
import "fmt"

func main() {

numbers := [5] int {11, 22, 33, 44, 55}

for _, item := range numbers {
fmt.Println(item)
}

}

输出

11
22
33
44
55

这里,程序知道 item 表示数组的第二部分。