Go语言 循环控制语句

Go语言 循环控制语句

在Go语言中,循环控制语句允许程序在达成某种特定条件之前或之后,重复执行某些指令,Golang提供了三种类型的循环,包括for循环、range循环以及goto语句,并且每种循环结构都支持break和continue语句。

for循环

for循环用来重复执行一组语句,通常是对一个范围内的元素或数字执行某些操作。下面是for循环的语法:

for initialization; condition; iteration {
    // 在此处编写代码。
}

其中:

  • initialization表达式初始化或声明一个变量,然后在循环的第一次迭代中使用。
  • condition表达式评估为布尔值,并在每次迭代开始之前进行评估。如果为true,则进行迭代;如果为false,则退出循环。
  • iteration语句在每次迭代结束时执行。通常,iteration语句递增或递减初始化表达式中的变量。

例如,下面是一个for循环的示例:

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }
}

output:

0
1
2
3
4

range循环

range循环是一种用于按顺序访问数据结构中元素的循环。该语法允许您迭代数组,切片,字符串,映射和通道等数据结构,并以每个元素的值作为迭代变量。下面是range循环的语法:

for i, v := range collection {
    // 在此处编写代码。
}

其中:

  • collection是一个数组,切片,字符串,映射或通道。
  • i是元素的索引值(如果适用的话),v是元素的值。

例如,下面是一个range循环的示例:

package main

import "fmt"

func main() {
   nums := []int{2, 3, 4}
   sum := 0
   for _, num := range nums {
      sum += num
   }
   fmt.Println("sum:", sum)
}

output:

sum: 9

goto语句

goto语句是一种控制转移语句,它允许您直接跳转到程序中的另一个标签或代码位置。通常,它应该避免使用,但在某些情况下,goto语句可以使代码更简洁和易于阅读。

下面是goto语句的语法:

goto label
...
label: statement

例如,下面是一个使用goto语句的示例:

package main

import "fmt"

func main() {
   goto Loop
   for i := 0; i < 5; i++ {
      fmt.Println(i)
   }

   Loop:
      fmt.Println("Jumped out of for loop using goto")
}

output:

Jumped out of for loop using goto

break和continue语句

break语句可用于终止for循环,range循环和switch语句中的执行。它也可以用于终止嵌套循环的执行。例如,下面是一个退出for循环的示例:

package main

import (
   "fmt"
)

func main() {
   for i := 0; i < 10; i++ {
      if i == 5 {
         break
      }
      fmt.Println(i)
   }
}

output:

0
1
2
3
4

continue语句用于跳过当前迭代并继续下一轮迭代。例如,下面是一个从循环中跳过特定值的示例:

package main

import "fmt"

func main() {
   for i := 0; i <= 10; i++ {
      if i%2 == 0 {
         continue
      }
      fmt.Println(i)
   }
}

output:

1
3
5
7
9

结论

在Go语言中,循环控制语句允许程序在达成某种特定条件之前或之后,重复执行某些指令。Golang提供了三种类型的循环,包括for循环、range循环以及goto语句,并且每种循环结构都支持break和continue语句,这使得循环控制在处理数据时更加方便。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程