package main

import (
	"fmt"
	"time"
)

func main() {
	done := make(chan bool)

	go func() {
		for {
			fmt.Println('I am looping forever...')
			time.Sleep(time.Second)
		}
	}()

	go func() {
		time.Sleep(3 * time.Second)
		done <- true
	}()

	<-done
	fmt.Println('Done!')
}

说明:

此代码使用了两个 goroutine,一个用于死循环输出信息,另一个用于等待 3 秒后向 done 通道发送一个 bool 值。

主 goroutine 等待 done 通道接收到 bool 值后输出 'Done!' 并结束程序。

Golang 死循环执行 3 秒后结束代码示例

原文地址: https://www.cveoy.top/t/topic/lrOa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录