📜  在 Golang 中使用 For 循环中断的切换案例(1)

📅  最后修改于: 2023-12-03 15:37:20.446000             🧑  作者: Mango

在 Golang 中使用 For 循环中断的切换案例

在 Golang 中,我们通常使用 for 循环来遍历数组、切片、映射等数据结构。有时候,我们需要在循环中判定某个条件是否成立,如果条件成立,就中断循环并执行其他操作。

本文介绍如何在 Golang 中使用 for 循环中断,以及如何在中断循环后切换到其他 Goroutine 并执行相应的操作。

使用 break 中断循环

在 Golang 中,我们可以使用 break 关键字来中断 for 循环。例如:

package main

import "fmt"

func main() {
    nums := []int{1, 2, 3, 4, 5}

    for _, num := range nums {
        if num == 3 {
            break
        }
        fmt.Println(num)
    }
}

以上代码中,我们使用 break 关键字中断了循环,当 num 变量的值为 3 时,循环就会被中断。输出结果为:

1
2
使用 select 切换 Goroutine

在 Golang 中,我们可以使用 select 语句来切换 Goroutine。例如:

package main

import (
    "fmt"
    "time"
)

func main() {
    nums := []int{1, 2, 3, 4, 5}

    for _, num := range nums {
        if num == 3 {
            go func() {
                time.Sleep(1 * time.Second)
                fmt.Println("Goroutine executed.")
            }()
            break
        }
        fmt.Println(num)
    }

    time.Sleep(2 * time.Second)
}

以上代码中,当 num 变量的值为 3 时,我们启动了一个 Goroutine,在 1 秒钟后输出一条信息。然后使用 break 关键字中断了循环。

接着,我们调用了 time.Sleep() 函数,让程序等待 2 秒钟,等待 Goroutine 执行结束。这是因为在 Goroutine 执行的过程中,程序并不会等待其执行结束,而是会直接继续执行后续的代码。

输出结果为:

1
2
Goroutine executed.
总结

在 Golang 中,我们可以使用 break 关键字中断 for 循环,并使用 select 语句切换 Goroutine。在实际开发中,我们可以结合这两个功能来编写高效的程序。