在Go语言中,for
是唯一用于循环的控制结构。Go语言的 for
循环比其他一些语言中的 for
循环更为灵活,可以用来实现多种类型的循环。以下是几种常见的使用 for
循环的方式:
基本的 for
循环
这是最常用的 for
循环形式,它由三部分组成:初始化语句、条件表达式和后置操作。
for 初始化语句; 条件表达式; 后置操作 {
// 循环体
}
例如,打印数字1到5:
for i := 1; i <= 5; i++ {
fmt.Println(i)
}
无限循环
如果你省略了 for
循环的三个组成部分,那么将创建一个无限循环。通常会用一个 break
语句来退出这个循环。
for {
// 循环体
if 某个条件 {
break
}
}
例如,直到用户输入“q”才退出的无限循环:
for {
var input string
fmt.Print("请输入(输入 q 退出): ")
fmt.Scanln(&input)
if input == "q" {
break
}
}
for
... range
循环
for
... range
循环用于遍历数组、切片、字符串、映射(map)或通道(channel)等集合类型的数据。
- 数组或切片:
arr := [3]int{
1, 2, 3}
for index, value := range arr {
fmt.Printf("索引 %d 的值是 %d\n", index, value)
}
- 字符串:
str := "hello"
for index, char := range str {
fmt.Printf("索引 %d 的字符是 %c\n", index, char)
}
- 映射(map):
m := map[string]int{
"a": 1, "b": 2}
for key, value := range m {
fmt.Printf("键 %s 的值是 %d\n", key, value)
}
使用 continue
和 break
continue
语句用于跳过当前循环的剩余部分,并继续执行下一次迭代。break
语句用于立即退出循环。
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // 跳过偶数
}
fmt.Println(i)
if i > 7 {
break // 当i大于7时退出循环
}
}
以上就是Go语言中控制循环的一些基本方法。希望这些信息对你有所帮助!如果有任何具体的问题或需要进一步的示例,请随时告诉我。