Golang教程

循环语句:for、range

Preview
  • Golang循环语句:for、range
  • 1. for 循环
  • 2. range 循环

Golang循环语句:for、range

1. for 循环

for 循环是一种常用的循环语句,其语法格式如下:

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

其中,initialization 是循环的初始化语句,condition 是循环条件语句,post 是循环后处理语句,循环体为需要重复执行的代码块。

for 循环的执行过程如下:

  1. 执行 initialization 语句;
  2. 判断 condition 是否为 true,如果为 true,则执行循环体,否则跳出循环;
  3. 执行 post 语句;
  4. 重复执行第二步。

需要注意的是,循环条件语句可以省略,此时相当于 for true,可以无限循环下去。另外,initialization 和 post 语句也可以省略,此时相当于一个 while 循环。

例如,计算 1 到 10 的和:

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

输出结果为:

55

2. range 循环

range 循环是一种针对数组、slice、map、字符串等可迭代数据类型的循环语句,其语法格式如下:

for index, value := range collection {
    // 循环体
}

其中,index 表示当前迭代的索引,value 表示当前迭代的值,collection 表示迭代的集合,可以是数组、slice、map 等。

range 循环的执行过程如下:

  1. 按顺序迭代 collection 中的每个元素;
  2. 将当前元素的索引赋值给 index,当前元素的值赋值给 value;
  3. 执行循环体;
  4. 重复执行第一步,直到迭代完所有元素。

例如,遍历一个数组:

arr := [3]int{1, 2, 3}
for i, v := range arr {
    fmt.Println(i, v)
}

输出结果为:

0 1
1 2
2 3

需要注意的是,range 循环还可以用于遍历 map 中的键值对:

dict := map[string]int{"a": 1, "b": 2, "c": 3}
for k, v := range dict {
    fmt.Println(k, v)
}

输出结果为:

a 1
b 2
c 3

以上就是对 Golang 循环语句 for 和 range 的详解,希望对你有所帮助。