Go - 循环:掌握编程中的重复

你好,有抱负的程序员们!今天,我们将深入编程中最基本的概念之一:循环。作为你友好的计算机科学老师,我很高兴引导你进入Go语言的循环世界。相信我,在本教程结束时,你将能够像专业人士一样进行循环!

Go - Loops

什么是循环?

在我们深入研究之前,让我们先了解一下循环是什么。想象你被分配了一个任务,要写100次"我爱编程"。这很繁琐,对吧?这就是循环派上用场的地方!它们允许我们重复执行一组指令多次,而无需一次又一次地编写相同的代码。

Go语言中的循环类型

Go语言提供了三种主要的循环类型:

  1. For循环
  2. While循环(使用for实现)
  3. 基于范围的for循环

让我们详细探索每一种。

1. 经典的For循环

For循环是Go语言中最常见的循环类型。它就像瑞士军刀一样——多功能且强大。

package main

import "fmt"

func main() {
for i := 0; i < 5; i++ {
fmt.Println("迭代:", i)
}
}

在这个例子中:

  • i := 0 初始化循环变量
  • i < 5 是在每次迭代前检查的条件
  • i++ 在每次迭代后执行

输出:

迭代: 0
迭代: 1
迭代: 2
迭代: 3
迭代: 4

2. While循环(Go风格)

Go没有while关键字,但我们可以使用for循环来实现相同的结果。这就像穿着燕尾服的T恤——形式上是for循环,但功能上是一个while循环!

package main

import "fmt"

func main() {
count := 0
for count < 3 {
fmt.Println("计数是:", count)
count++
}
}

在这里,循环将继续执行,直到count < 3为真。

输出:

计数是: 0
计数是: 1
计数是: 2

3. 基于范围的For循环

这是我的个人最爱——就像为你的数据结构配备GPS一样。它非常适合遍历数组、切片、映射等。

package main

import "fmt"

func main() {
fruits := []string{"苹果", "香蕉", "樱桃"}
for index, fruit := range fruits {
fmt.Printf("索引 %d 的水果是 %s\n", index, fruit)
}
}

这个循环会自动遍历fruits切片,在每次迭代中给出索引和值。

输出:

索引 0 的水果是 苹果
索引 1 的水果是 香蕉
索引 2 的水果是 樱桃

循环控制语句

现在我们已经掌握了基础知识,让我们用控制语句给我们的循环增添一些色彩。这些就像编程世界的DJ——它们控制着我们循环派对的流程!

Break语句

break语句就像按下紧急停止按钮。它会立即终止循环。

package main

import "fmt"

func main() {
for i := 0; i < 10; i++ {
if i == 5 {
fmt.Println("我们到达了5!是时候停止了!")
break
}
fmt.Println("当前数字:", i)
}
}

这个循环将在i达到5时停止。

输出:

当前数字: 0
当前数字: 1
当前数字: 2
当前数字: 3
当前数字: 4
我们到达了5!是时候停止了!

Continue语句

continue语句就像跳过你不喜欢的歌曲。它会跳到循环的下一个迭代。

package main

import "fmt"

func main() {
for i := 0; i < 5; i++ {
if i == 2 {
fmt.Println("跳过2!")
continue
}
fmt.Println("当前数字:", i)
}
}

这个循环将在i为2时跳过打印。

输出:

当前数字: 0
当前数字: 1
跳过2!
当前数字: 3
当前数字: 4

无限循环

最后但并非最不重要的是,让我们来谈谈臭名昭著的无限循环。这就像那首永远结束不了的歌——它会一直进行下去,除非你告诉它停止。

package main

import (
"fmt"
"time"
)

func main() {
count := 0
for {
fmt.Println("这是迭代:", count)
count++
time.Sleep(time.Second)
if count == 5 {
fmt.Println("好吧,已经足够了!")
break
}
}
}

这个循环将永远运行,除非我们跳出循环。在这个例子中,我们在5次迭代后跳出。

输出:

这是迭代: 0
这是迭代: 1
这是迭代: 2
这是迭代: 3
这是迭代: 4
好吧,已经足够了!

循环方法表

下面是一个我们讨论过的循环方法的便捷表格:

方法 描述 示例
For循环 标准循环,具有初始化、条件和后续语句 for i := 0; i < 5; i++ { ... }
While风格的For循环 当条件为真时运行的循环 for count < 3 { ... }
基于范围的For循环 用于遍历数组、切片、映射等的循环 for index, value := range collection { ... }
无限循环 除非中断,否则无限运行的循环 for { ... }

就这样,朋友们!你已经迈出了进入Go编程循环世界的第一步。记住,熟能生巧,所以不要害怕尝试这些概念。快乐编码,愿你的循环总是按你的意愿终止!

Credits: Image by storyset