📜  GO语言 For(1)

📅  最后修改于: 2023-12-03 15:15:25.054000             🧑  作者: Mango

GO语言 For 循环

在Go语言中,for循环是一种常用的控制流程语句,它能够重复执行一段程序代码,并在每次执行时可选择修改某些条件。for 循环有三种形式,分别为:

基本的 for 循环

这是Go语言中最基础的一种 for 循环形式,它的语法为:

for initialization; condition; post {
    // 循环语句体
}

其中:

  • initialization:循环开始前执行的一条语句,通常是执行赋值操作。
  • condition:循环条件,当条件满足时,循环会继续执行。
  • post:每次循环结束后执行的语句。

举个例子:

for i := 0; i < 10; i++ {
    fmt.Println(i)
}

这段代码会输出数字0~9,每个数字占一行。在这个示例中,i 的初始值为 0,每次循环增加 1,并在循环的条件 i < 10 满足的情况下,执行循环体内的语句。

for 循环的简化版

在Go语言中,for 循环有另外一种形式,可以用来简化循环代码的编写。这种形式只需要一个条件即可,语法如下:

for condition {
    // 循环语句体
}

这个形式的循环会一直执行,直到 condition 不再满足,即 false

举个例子:

i := 0
for i < 10 {
    fmt.Println(i)
    i++
}

这段代码的输出与上一个示例相同,都是0~9,每个数字占一行。在这个示例中,循环条件只写了一个 i < 10 ,没有写循环的初始化和增量操作。

for 循环的变种

除了两种基本的 for 循环形式之外,Go语言还提供了一种稍微复杂一些的变种。这种形式的 for 循环由关键字 range 和一个集合类型组成,语法如下:

for index, element := range collection {
    // 循环语句体
}

其中 index 为元素的索引,element 为该索引对应的元素,collection 表示集合。这个形式的循环适用于数组、切片、字符串和 map 等类型。

举个例子:

numbers := []int{1, 2, 3, 4, 5}
for i, number := range numbers {
    fmt.Printf("Index: %d, Value: %d\n", i, number)
}

这段代码会输出:

Index: 0, Value: 1
Index: 1, Value: 2
Index: 2, Value: 3
Index: 3, Value: 4
Index: 4, Value: 5

在这个示例中,我们定义了一个名为 numbers 的切片,然后对这个切片进行了遍历。遍历的过程中,我们使用 range 关键字获取了每个元素的索引和值,并将它们分别赋值给了 inumber。然后就可以在循环体内使用它们了。

总结

Go语言中的 for 循环提供了多种形式,你可以根据不同的场景和需求选择适合自己的方式。同时,也要注意编写高效的循环,避免造成系统的性能瓶颈。