Files
learn-golang/go-select-practice/select_default.go
2025-12-26 17:56:02 +08:00

34 lines
504 B
Go

package main
import (
"fmt"
"time"
)
func main() {
ch := make(chan int)
go func() {
for i := 1; i <= 5; i++ {
time.Sleep(500 * time.Millisecond)
ch <- i
}
close(ch)
}()
for {
select {
case v, ok := <-ch:
if !ok {
fmt.Println("channel 已关闭,退出循环")
return
}
fmt.Println("收到:", v)
default:
// 没有数据可读时,做点“其他事”
fmt.Println("没有新数据,先忙点别的...")
time.Sleep(200 * time.Millisecond)
}
}
}