Go的for循环

2023-08-26 15:34:49 浏览数 (2)

在Go语言中,循环是通过for关键字来实现的。Go语言提供了三种基本的循环方式:for循环、range循环和for...range循环。

for循环:

代码语言:javascript复制
for 初始化语句; 循环条件; 循环后执行语句 {
    // 循环体代码
}

初始化语句用于初始化循环变量;循环条件为真时执行循环体代码;循环后执行语句在每次循环结束后执行。例如:

代码语言:javascript复制
for i := 0; i < 5; i   {
    fmt.Println(i)
}

以上代码会输出0到4的数字。

range循环:

range循环用于遍历数组、切片、字符串、映射等数据结构的元素。

代码语言:javascript复制
for index, value := range collection {
    // 循环体代码
}

index是当前元素的索引,value是当前元素的值。例如:

代码语言:javascript复制
numbers := []int{1, 2, 3, 4, 5}
for index, value := range numbers {
    fmt.Printf("Index: %d, Value: %dn", index, value)
}

以上代码会输出数组numbers中每个元素的索引和值。

for...range循环:

for...range循环可以用于遍历通道(channel)中的值,直到通道关闭。

代码语言:javascript复制
for value := range channel {
    // 循环体代码
}

value是从通道接收到的值。例如:

代码语言:javascript复制
ch := make(chan int)
go func() {
    ch <- 1
    ch <- 2
    close(ch)
}()
for value := range ch {
    fmt.Println(value)
}

以上代码会输出通道ch中的值1和2。

除了上述基本的循环方式外,Go语言还提供了break和continue语句,用于在循环中控制流程的跳转。break语句用于终止当前循环,跳出循环体;continue语句用于跳过当前循环的剩余代码,进入下一次循环迭代。

0 人点赞