13 控制结构之for循环

在上一篇中,我们详细讨论了 if 语句的使用方法,它帮助我们根据条件来控制程序的执行流程。而在本篇中,我们将探讨 for 循环,这是 Go 语言中最常用的控制结构之一。for 循环可以用于重复执行某段代码,直到满足特定条件为止。

for 循环的基本语法

Go 语言中的 for 循环有多种形式,但其基本语法看起来如下:

1
2
3
for 初始化; 条件; 迭代 {
// 循环体
}

1. 经典的 for 循环

我们来看一个简单的示例,计算从 1 到 5 的和:

1
2
3
4
5
6
7
8
9
10
11
package main

import "fmt"

func main() {
sum := 0
for i := 1; i <= 5; i++ {
sum += i
}
fmt.Println("从 1 到 5 的和是:", sum)
}

在这个例子中:

  • 初始化i := 1,表示我们从 1 开始计数。
  • 条件i <= 5,表示当 i 小于等于 5 时继续执行循环。
  • 迭代i++,表示每次循环结束后 i 自增 1。

该程序输出的结果是:

1
从 1 到 5 的和是: 15

2. 仅有条件的 for 循环

有时候我们可以省略循环的初始化和迭代部分,只保留条件部分。这种情况下,通常会在循环体内部进行变量的更新。例如,使用一个无限循环并在内部进行某种控制:

1
2
3
4
5
6
7
8
9
10
11
package main

import "fmt"

func main() {
i := 1
for i <= 5 {
fmt.Println(i)
i++
}
}

这段代码会输出:

1
2
3
4
5
1
2
3
4
5

3. 省略所有部分的 for 循环

在 Go 语言中,我们可以使用一个无限循环,通过 break 语句手动终止循环。下面的例子展示了这一点:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package main

import "fmt"

func main() {
i := 1
for {
if i > 5 {
break
}
fmt.Println(i)
i++
}
}

同样,这里输出的是:

1
2
3
4
5
1
2
3
4
5

4. 使用 continue 语句跳过当前循环

continue 语句可以用于跳过当前迭代的剩余代码,直接进入下一次循环。例如,我们可以让程序跳过偶数,只打印奇数:

1
2
3
4
5
6
7
8
9
10
11
12
package main

import "fmt"

func main() {
for i := 1; i <= 5; i++ {
if i%2 == 0 {
continue // 跳过偶数
}
fmt.Println(i)
}
}

这段代码的输出是:

1
2
3
1
3
5

5. 结合范围的 for 循环

Go 语言的 for 循环还可以用于遍历数组、切片、映射等类型数据。以下是遍历切片的例子:

1
2
3
4
5
6
7
8
9
10
11
package main

import "fmt"

func main() {
numbers := []int{10, 20, 30, 40, 50}

for index, value := range numbers {
fmt.Printf("索引: %d, 值: %d\n", index, value)
}
}

输出结果:

1
2
3
4
5
索引: 0, 值: 10
索引: 1, 值: 20
索引: 2, 值: 30
索引: 3, 值: 40
索引: 4, 值: 50

这段代码使用了 range 关键字,它可以方便地获取切片的索引和值。

总结

在本篇中,我们探讨了 Go 语言中 for 循环的各种用法,包括经典的循环形式、条件控制、无限循环以及结合 continuerange 的应用。for 循环是处理重复任务的强大工具,是掌握 Go 语言的基础之一。

下一篇将讨论 switch 语句,它是一种更为简洁的条件选择结构,让我们期待这个新的学习环节!

13 控制结构之for循环

https://zglg.work/go-zero/13/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-11

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论