Jupyter AI

13 控制结构之for循环

📅 发表日期: 2024年8月11日

分类: 🐹Go 语言入门

👁️阅读: --

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

for 循环的基本语法

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

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

1. 经典的 for 循环

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

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 到 5 的和是: 15

2. 仅有条件的 for 循环

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

package main

import "fmt"

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

这段代码会输出:

1
2
3
4
5

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

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

package main

import "fmt"

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

同样,这里输出的是:

1
2
3
4
5

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

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

package main

import "fmt"

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

这段代码的输出是:

1
3
5

5. 结合范围的 for 循环

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

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)
    }
}

输出结果:

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

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

总结

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

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