Golang select语句退出循环
2019-06-11 本文已影响0人
FredricZhu
package main
import (
"fmt"
"time"
)
func main() {
done := make(chan interface{})
go func() {
time.Sleep(5 * time.Second)
close(done)
}()
workCounter := 0
loop:
for {
select {
case <-done:
break loop
default:
}
workCounter++
time.Sleep(1 * time.Second)
}
fmt.Printf("Achieved %v cycles of work before signaled to stop.\n", workCounter)
}
image.png