Go 使用for循环

Go 使用for循环,for语句让您能够反复执行代码块,这在编程中被称为循环:反复执行代码块,直到条件不再满足。一个这样的简单示例是,将一个数字不断加1,直到它为特定的数字,如程序所示。

 package main

 import (
  "fmt"
 )

 func main() {
  i := 0
  for i < 10 {
   i++
   fmt.Println("i is", i)
  }
 }

运行结果如下:
Go 使用for循环

解读如下。

  • 声明变量i并将其初始化为0。
  • 一条for语句判断i是否小于10。
  • 如果这个布尔条件为true,就执行for语句中的代码。
  • 使用递增运算符将变量i加1。
  • 将变量i的值打印到终端。
  • 返回到开头的布尔表达式,判断变量i的值是否小于10。
  • 变量i不再小于10时,这个布尔表达式将为false,因此不再执行for语句中的代码,循环就此结束。

包含初始化语句和后续语句的for语句

除要检查的条件外,for语句还可指定在循环开始时执行的初始化语句以及后续(post)语句。这些语句可让迭代代码简短得多,但必须使用分号将它们分隔开。

  • 初始化语句:仅在首次迭代前执行。
  • 条件语句:每次迭代前都将检查的布尔表达式。
  • 后续语句:每次迭代后都将执行。

如下演示了如何在for语句中使用初始化语句和后续语句。

 package main

 import (
  "fmt"
 )

 func main() {
  for i := 0; i < 10; i++ {
   fmt.Println("i is", i)
  }
 }

运行结果如下:
Go 使用for循环

解读如下。

  • 声明变量i并将其初始化为0。
  • 一条for语句检查变量i是否小于10。
  • 如果这个布尔表达式为true,就执行for语句中的代码。
  • 使用递增运算符将变量i的值加1。
  • 将变量i的值打印到终端。
  • 返回到开头的布尔表达式,判断变量i的值是否小于10。
  • 变量i不再小于10时,这个布尔表达式将为false,因此不再执行for语句中的代码,循环就此结束。

包含range子句的for语句

for语句也可用来遍历数据结构。在下面的示例中,创建了一个数组,用于存储一系列数字。简单地说,数组用于存储一系列类型相同的数据。如下演示了一条包含range子句的for语句。

 package main

 import (
  "fmt"
 )

 func main() {
  numbers := []int{1, 2, 3, 4}
  for i, n := range numbers {
   fmt.Println("The index of the loop is", i)
   fmt.Println("The value from the array is", n)
  }
 }

运行结果如下:
Go 使用for循环

解读如下。

  • 声明变量numbers,并将一个包含4个整数的数组赋给它。
  • for语句指定了迭代变量i,用于存储索引值。这个变量将在每次迭代结束后更新。
  • for语句指定了迭代变量n,用于存储来自数组中的值。它也将在每次迭代结束后更新。
  • 在循环中,打印这两个变量的值。

在Go语言中,可使用包含range子句的for语句来遍历大多数数据结构,且无须知道数据结构的长度。

警告:迭代变量从0开始。
迭代变量从0开始,且每次都加1。要在特定的迭代中执行操作,务必从0而不是1开始计算迭代数!

酷客教程相关文章:

赞(0)

评论 抢沙发

评论前必须登录!