Golang 死循环执行 3 秒后结束代码示例
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!' 并结束程序。
原文地址: https://www.cveoy.top/t/topic/lrOa 著作权归作者所有。请勿转载和采集!