Go - 循环:掌握编程中的重复
你好,有抱负的程序员们!今天,我们将深入编程中最基本的概念之一:循环。作为你友好的计算机科学老师,我很高兴引导你进入Go语言的循环世界。相信我,在本教程结束时,你将能够像专业人士一样进行循环!
什么是循环?
在我们深入研究之前,让我们先了解一下循环是什么。想象你被分配了一个任务,要写100次"我爱编程"。这很繁琐,对吧?这就是循环派上用场的地方!它们允许我们重复执行一组指令多次,而无需一次又一次地编写相同的代码。
Go语言中的循环类型
Go语言提供了三种主要的循环类型:
- For循环
- While循环(使用for实现)
- 基于范围的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