Go 语言循环语句
Go 语言循环语句
Go 语言提供了 for
循环语句,用于重复执行一段程序逻辑,直到循环条件不再满足时终止。
for
与 range
语句
for
循环语句可以使用多种语法形式。
for
循环语法
for
循环语法的基本形式如下:
for initialization; condition; post {
// 循环语句块
}
其中:
initialization
:循环变量初始化语句,仅在循环开始时执行一次。condition
:逻辑表达式,控制循环是否继续执行。post
:循环后执行语句,仅在循环体执行完成后再次执行。
例如,下面的代码示例使用 for
循环语句求和:
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
range
循环语法
range
循环语法用于遍历数组、切片、字符串、map 和通道等数据类型中的元素。
for key, value := range expression {
// 循环语句块
}
其中:
key
:对于数组和切片,表示索引;对于map
,表示键;对于字符串,表示字符的字节索引。value
:表示元素的值。expression
:需要遍历的数据类型。
例如,下面的代码示例使用 range
循环语句遍历切片:
numbers := []int{1, 2, 3, 4, 5}
for i, v := range numbers {
fmt.Printf("Index %d, Value %d\n", i, v)
}
for
循环语句的控制语句
for
循环语句中提供了多种控制语句,用于控制循环体的执行流程。
break
语句
break
语句用于结束循环体的执行,并跳出循环语句。
例如,下面的代码示例使用 for
循环语句和 break
语句查找数组中的某个元素:
numbers := []int{1, 2, 3, 4, 5}
key := 3
for i, v := range numbers {
if v == key {
fmt.Printf("Found key %d at index %d\n", key, i)
break
}
}
continue
语句
continue
语句用于结束当前循环体的迭代,并进入下一个迭代。
例如,下面的代码示例使用 for
循环语句和 continue
语句计算偶数之和:
sum := 0
for i := 0; i < 10; i++ {
if i%2 != 0 {
continue
}
sum += i
}
goto
语句
goto
语句用于无条件地跳转到指定标签(label)处,可形成无限循环或跳转。
例如,下面的代码示例使用 for
循环语句和 goto
语句输出一个10次的循环:
i := 0
Loop:
for {
fmt.Println(i)
i++
if i == 10 {
break Loop
}
}
总结
Go 语言的循环语句提供了丰富的功能和语法形式,可支持各种场景下的循环处理。使用 for
循环语句和控制语句,可以轻松实现多样化的循环逻辑。