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语句,这使得循环控制在处理数据时更加方便。