Golang 如何使用for和foreach循环

Golang 如何使用for和foreach循环

在Golang中,只有一个循环结构,那就是 for 循环。Golang中的for循环有三个组成部分,它们必须用分号(;)隔开,这些部分包括:

  • 初始化语句 :在第一次迭代之前执行,例如 i := 0
  • 条件表达式 :在每次迭代之前执行,例如 i < 5
  • 后置语句 :在每次迭代的结尾执行,例如 i++

在定义块时,不需要使用 括号 来包含这三个部分,但必须使用 大括号

for i := 0 ; i < 5 ; i++{
         // statements to execute......
}

初始化和后置语句是可选的。

i := 0
for ; i < 5;{
i++
}

在Golang中,可以将 for 循环作为 while 循环使用,只需省略所有分号。

**i := 0**
for **i < 5 **{
**i++**
}

无限循环: 如果没有条件语句,循环会变成一个无限循环。

**for** {
}

示例:

package main
 
import "fmt"
 
// 打印数字0到9并打印0到9的总和的函数
func main() {
 
    // 变量用于存储总和
    sum := 0
 
    // 这是一个从0到9运行的for循环
    for i := 0; i < 10; i++ {
 
        // 打印变量i的值
        fmt.Printf("%d ", i)
 
        // 计算总和
        sum += i
    }
    fmt.Printf("\nsum = %d", sum)
} 

输出:

0 1 2 3 4 5 6 7 8 9 
sum = 45

在Golang中没有 foreach 循环,而是可以使用 for 循环作为“ foreach ”。有一个关键字 range ,您可以将 forrange 组合在一起,并选择在循环中使用 keyvalue

语法:

for <key>, <value> := range <container>{

}

这里,

  • keyvalue :可以是您想要选择的任何变量。
  • container :可以是任何变量,例如数组,列表,映射等。

示例1:

package main
 
import "fmt"
 
// 用于展示如何将for和range结合使用的驱动程序函数
func main() {
 
    // 在这里,我们使用了一个将整数映射为字符串的映射
    mapp := map[int]string{1: "one", 2: "two", 3: "three"}
 
    // integ充当mapp的key
    // spell充当mapp的值,映射到integ
 
    for integ, spell := range mapp {
 
        // 使用integ和spell作为映射的键和值
        fmt.Println(integ, " = ", spell)
    }
} 

输出:

1  =  one
2  =  two
3  =  three

示例2:

package main
 
import "fmt"
 
// 演示如何同时使用for和range
func main() {
 
    // 声明一个整型数组
    arra := []int{1, 2, 3, 4}
 
    // 遍历数组
    for index, itr := range arra {
     
        // 在for与range一起使用时,
        // key或value变量取决于容器类型,
        // 如果是数组或列表,则key表示索引……
        fmt.Print(index, " : ", itr, "\n")
    }
 
    // 如果在for循环中只使用一个变量,
    // 则默认情况下它将表示容器中的值。
    for itr := range arra {
 
        fmt.Print(it, " ")
    }
} 

输出:

0 : 1
1 : 2
2 : 3
3 : 4
1 2 3 4 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程